Ver Mensaje Individual
  #19 (permalink)  
Antiguo 25/04/2011, 14:13
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: extraer solo lo que esta dentro de los parentesis

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. dato VARCHAR(200)
  4. )
  5.  
  6. INSERT INTO #temp (dato) VALUES ('mi casa esta hasta por aca (puerta azulada y que mas quieres que diga) mas texto por aca')
  7. INSERT INTO #temp (dato) VALUES ('mi casa esta (hasta)')
  8. INSERT INTO #temp (dato) VALUES ('mi casa esta)')
  9. INSERT INTO #temp (dato) VALUES ('mi casa esta(')
  10. INSERT INTO #temp (dato) VALUES ('mi casa esta')
  11.  
  12.  
  13. SELECT
  14. CASE
  15. WHEN
  16. isnull(charindex('(',dato),0)>=1 AND isnull(charindex(')',dato),0)>=1 THEN
  17. SUBSTRING(dato,charindex('(',dato)+1,(charindex(')',dato)-charindex('(',dato))-1)
  18. ELSE 'sin parentesis'
  19. END AS cortada, dato FROM #temp

Ejemplo desde la tabla #temp con los diferentes valores cuando no tiene parentesis te presenta en el resultado "sin parentesis"

y para el update
Código SQL:
Ver original
  1. UPDATE tabla
  2. SET
  3. cadena=t1.cadena
  4. FROM
  5. (
  6. SELECT
  7. CASE
  8. WHEN
  9. isnull(charindex('(',dato),0)>=1 AND isnull(charindex(')',dato),0)>=1 THEN
  10. SUBSTRING(dato,charindex('(',dato)+1,(charindex(')',dato)-charindex('(',dato))-1)
  11. ELSE 'sin parentesis'
  12. END AS cadena, dato FROM #temp
  13. ) AS t1
Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me