dudilla con consulta

31/01/2007 - 10:02 por jb | Informe spam
Buenas!

Tengo la consulta:

SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9%2%6%3%8%0%5%5%9'

obtenimos

1- 926.380.559
2- 926.341.860 / 629265059

Claro, el resultado 1 es el bueno, el 2 no... (fijaos que el campo telefono
es un varchar, y hay puntos que separan las cifras a veces, no siempre).

El comodín % hace que se busquen coincidencias de los números en cualquier
orden. Sabeis si existe un modo humano de hacer que la consulta devuelva
solo la primera fila? Otro tipo de carácter comodín? no lo se...

gracias de antemano,

JB

Preguntas similare

Leer las respuestas

#1 Salvador Ramos
31/01/2007 - 11:35 | Informe spam
Hola,

La verdad que no tengo muy claro el resultado que necesitas.
Pero tamibén tienes el comodin _
Prueba algo así:
SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9_2_6_3_8_0_5_5_9'

Si no te vale, explicanos un poco que es lo que necesitas obtener.
Puedes tener otras alternativas como eliminar los puntos, blancos u otros...
pero para eso hay que tener más claro lo que buscas.

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server / MCTS: SQL Server 2005]
www.helpdna.net (información sobre SQL Server y .NET)
Y ahora también en www.sqlserverymicrosoft.net


"jb" escribió en el mensaje
news:
Buenas!

Tengo la consulta:

SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9%2%6%3%8%0%5%5%9'

obtenimos

1- 926.380.559
2- 926.341.860 / 629265059

Claro, el resultado 1 es el bueno, el 2 no... (fijaos que el campo
telefono es un varchar, y hay puntos que separan las cifras a veces, no
siempre).

El comodín % hace que se busquen coincidencias de los números en cualquier
orden. Sabeis si existe un modo humano de hacer que la consulta devuelva
solo la primera fila? Otro tipo de carácter comodín? no lo se...

gracias de antemano,

JB

Respuesta Responder a este mensaje
#2 jb
31/01/2007 - 11:58 | Informe spam
gracias por responder tan rapido,

el tema es que tengo una BD con telefonos mezclados con caracteres "raros"
como puntos y otros simbolos, y lo que necesito es simplemente buscar un
contacto a partir de su teléfono, es una especie de buscador. Claro, el
usuario no sabe si el teléfono está guardado con puntos o lo que sea, por
eso utilizo el comodín "%" del LIKE.

Quizá lo mejor sería hacer una lista de elementos como el "." punto que hay
que eliminar o no tener en cuenta en la select, pero no se como se haría, si
tu me lo puedes decir te lo agradezco :P

saludos,

Xus




"Salvador Ramos" escribió en el
mensaje news:
Hola,

La verdad que no tengo muy claro el resultado que necesitas.
Pero tamibén tienes el comodin _
Prueba algo así:
SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9_2_6_3_8_0_5_5_9'

Si no te vale, explicanos un poco que es lo que necesitas obtener.
Puedes tener otras alternativas como eliminar los puntos, blancos u
otros...
pero para eso hay que tener más claro lo que buscas.

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server / MCTS: SQL Server 2005]
www.helpdna.net (información sobre SQL Server y .NET)
Y ahora también en www.sqlserverymicrosoft.net


"jb" escribió en el mensaje
news:
Buenas!

Tengo la consulta:

SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9%2%6%3%8%0%5%5%9'

obtenimos

1- 926.380.559
2- 926.341.860 / 629265059

Claro, el resultado 1 es el bueno, el 2 no... (fijaos que el campo
telefono es un varchar, y hay puntos que separan las cifras a veces, no
siempre).

El comodín % hace que se busquen coincidencias de los números en
cualquier orden. Sabeis si existe un modo humano de hacer que la consulta
devuelva solo la primera fila? Otro tipo de carácter comodín? no lo se...

gracias de antemano,

JB





Respuesta Responder a este mensaje
#3 Salvador Ramos
31/01/2007 - 13:41 | Informe spam
Hola,

Para ello puedes utilizar la función replace, te paso un ejemplo en el que
elimina los '.' (puntos):
select replace('123.45.567.3', '.', '')

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server / MCTS: SQL Server 2005]
www.helpdna.net (información sobre SQL Server y .NET)
Y ahora también en www.sqlserverymicrosoft.net


"jb" escribió en el mensaje
news:
gracias por responder tan rapido,

el tema es que tengo una BD con telefonos mezclados con caracteres "raros"
como puntos y otros simbolos, y lo que necesito es simplemente buscar un
contacto a partir de su teléfono, es una especie de buscador. Claro, el
usuario no sabe si el teléfono está guardado con puntos o lo que sea, por
eso utilizo el comodín "%" del LIKE.

Quizá lo mejor sería hacer una lista de elementos como el "." punto que
hay que eliminar o no tener en cuenta en la select, pero no se como se
haría, si tu me lo puedes decir te lo agradezco :P

saludos,

Xus




"Salvador Ramos" escribió en el
mensaje news:
Hola,

La verdad que no tengo muy claro el resultado que necesitas.
Pero tamibén tienes el comodin _
Prueba algo así:
SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9_2_6_3_8_0_5_5_9'

Si no te vale, explicanos un poco que es lo que necesitas obtener.
Puedes tener otras alternativas como eliminar los puntos, blancos u
otros...
pero para eso hay que tener más claro lo que buscas.

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server / MCTS: SQL Server 2005]
www.helpdna.net (información sobre SQL Server y .NET)
Y ahora también en www.sqlserverymicrosoft.net


"jb" escribió en el mensaje
news:
Buenas!

Tengo la consulta:

SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9%2%6%3%8%0%5%5%9'

obtenimos

1- 926.380.559
2- 926.341.860 / 629265059

Claro, el resultado 1 es el bueno, el 2 no... (fijaos que el campo
telefono es un varchar, y hay puntos que separan las cifras a veces, no
siempre).

El comodín % hace que se busquen coincidencias de los números en
cualquier orden. Sabeis si existe un modo humano de hacer que la
consulta devuelva solo la primera fila? Otro tipo de carácter comodín?
no lo se...

gracias de antemano,

JB









Respuesta Responder a este mensaje
#4 jb
01/02/2007 - 11:46 | Informe spam
gracias, voy a anidar unos cuantos replace ;)

saludos,

Jesús Bosch
www.jbmixed.blogspot.com
"Salvador Ramos" escribió en el
mensaje news:%
Hola,

Para ello puedes utilizar la función replace, te paso un ejemplo en el que
elimina los '.' (puntos):
select replace('123.45.567.3', '.', '')

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server / MCTS: SQL Server 2005]
www.helpdna.net (información sobre SQL Server y .NET)
Y ahora también en www.sqlserverymicrosoft.net


"jb" escribió en el mensaje
news:
gracias por responder tan rapido,

el tema es que tengo una BD con telefonos mezclados con caracteres
"raros" como puntos y otros simbolos, y lo que necesito es simplemente
buscar un contacto a partir de su teléfono, es una especie de buscador.
Claro, el usuario no sabe si el teléfono está guardado con puntos o lo
que sea, por eso utilizo el comodín "%" del LIKE.

Quizá lo mejor sería hacer una lista de elementos como el "." punto que
hay que eliminar o no tener en cuenta en la select, pero no se como se
haría, si tu me lo puedes decir te lo agradezco :P

saludos,

Xus




"Salvador Ramos" escribió en el
mensaje news:
Hola,

La verdad que no tengo muy claro el resultado que necesitas.
Pero tamibén tienes el comodin _
Prueba algo así:
SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9_2_6_3_8_0_5_5_9'

Si no te vale, explicanos un poco que es lo que necesitas obtener.
Puedes tener otras alternativas como eliminar los puntos, blancos u
otros...
pero para eso hay que tener más claro lo que buscas.

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server / MCTS: SQL Server 2005]
www.helpdna.net (información sobre SQL Server y .NET)
Y ahora también en www.sqlserverymicrosoft.net


"jb" escribió en el mensaje
news:
Buenas!

Tengo la consulta:

SELECT TELEFON FROM CONTACTOS WHERE telefono LIKE '9%2%6%3%8%0%5%5%9'

obtenimos

1- 926.380.559
2- 926.341.860 / 629265059

Claro, el resultado 1 es el bueno, el 2 no... (fijaos que el campo
telefono es un varchar, y hay puntos que separan las cifras a veces, no
siempre).

El comodín % hace que se busquen coincidencias de los números en
cualquier orden. Sabeis si existe un modo humano de hacer que la
consulta devuelva solo la primera fila? Otro tipo de carácter comodín?
no lo se...

gracias de antemano,

JB













email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida