SQL - Separar cadena

 
Vista:

Separar cadena

Publicado por rdzulc (1 intervención) el 23/04/2008 00:10:58
Hola:

Tengo un campo Dirección que contiene la calle y la colonia en la que vive una persona, algo como esto: "Insugentes Sur #674 Col. Del Valle"

Lo que yo necesito es cortar esa cadena para separar la calle, que quede algo asi: "Insugentes Sur #674"

Habia pensado que necesito encontrar la palabra "Col." y cortar hasta ahi, pero no se como. Otra era cortar hasta el punto menos 3 pero en la cadena puede tener 2 o mas puntos. Por eso mi solución era encontar de la "Col." y de ahi separar la cadena.

Si me pudieran ayudar se los agradecería mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Separar cadena

Publicado por Isaias (5072 intervenciones) el 23/04/2008 00:29:24
¿Les cuesta mucho decir que base de datos manejan?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Separar cadena

Publicado por Eduardo (1 intervención) el 23/04/2008 00:37:40
Hola

Puedes intentar con esta rutina

declare @cadena1 varchar(100)
declare @cadena2 varchar(100)
declare @palabra varchar(100)
declare @pos int

set @cadena1 = 'Insugentes Sur #674 Col. Del Valle'
set @palabra = 'Col.'

set @pos = charindex(@palabra,@cadena1)
set @cadena2 = substring(@cadena1,1,@pos-1)

print @cadena2

Espero te ayude a solucionar tu problema

Saludos,

Eduardo V2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Separar cadena

Publicado por rdzulc (1 intervención) el 23/04/2008 02:56:39
Uso SQL Server 2000.

Ya lo resolví, use un metodo similar al que puso eduardo:

SUBSTRING(Direccion, 1, CHARINDEX('COL.', 1)-1) AS calle

Donde la cadena 'COL.' indica la colonia, solo obtiene problemas cuando en la dirección no usan la cadena 'COL.' o esta vacía, pero ese ya es problema de los usuarios, hay que educarlos, jejeje.

Gracias por la respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar