Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

como separar cadena

Estas en el tema de como separar cadena en el foro de SQL Server en Foros del Web. Que tal, estoy estructurando una base de datos sin embargo me encontre con el siguiente problema que tengo un campo llamado direccion en donde tengo ...
  #1 (permalink)  
Antiguo 25/03/2011, 13:55
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
como separar cadena

Que tal, estoy estructurando una base de datos sin embargo me encontre con el siguiente problema que tengo un campo llamado direccion en donde tengo agregado el nombre de la calle, el numero y la colonia y quiero separar este campo en 2 donde en direccion quede el nombre de la calle y el numero en otro campo solo quede la colonia. les mando un ejemplo de la informacion que tengo:

direccion
VALLE DEL SAGUAN #712 COL. VALLE DEL REAL
BOSQUES MEXICANOS #424 COL. BOSQUES DE LA PRADERA
JERÉZ DEL MIRADOR #110-A COL. CAÑADA DE JERÉZ
ZEMPOALA #512-A COL.AZTECA
PQUE. FRANCIA #124-A COL. LA NORIA

y quiero que quede de la siguiente manera:

direccion
VALLE DEL SAGUAN #712
BOSQUES MEXICANOS #424
JERÉZ DEL MIRADOR #110-A
ZEMPOALA #512-A
PQUE. FRANCIA #124-A


colonia
COL. VALLE DEL REAL
COL. BOSQUES DE LA PRADERA
COL. CAÑADA DE JERÉZ
COL.AZTECA
COL. LA NORIA

ojala y alguien pueda ayuarme y de ante mano muchas gracias
  #2 (permalink)  
Antiguo 25/03/2011, 14:27
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: como separar cadena

Código SQL:
Ver original
  1. CREATE TABLE #temp(
  2. dato VARCHAR(200)
  3. )
  4.  
  5. INSERT INTO #temp (dato) VALUES ('VALLE DEL SAGUAN #712 COL. VALLE DEL REAL')
  6. INSERT INTO #temp (dato) VALUES ('BOSQUES MEXICANOS #424 COL. BOSQUES DE LA PRADERA')
  7.  
  8.  
  9. SELECT
  10. SUBSTRING(dato,1,(
  11. charindex('COL',dato)-1)) AS direccion,  SUBSTRING(dato,(
  12. charindex('COL',dato)), len(dato)) colonia
  13. FROM #temp

Hola este query funciona siempre y cuando con lo que separas la direccion de la colonia sea la palabra COL.

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.