Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 20
Tecnic2 Va por buen camino
Question Buscar texto en mayusculas y minusculas (SQL).

Hola a todos, a ver si me podeis solucionar éste problema trivial que tengo:

En una base de datos puede aparecer un texto en mayúsculas, y el mismo texto tambien en minúsculas. Estoy haciendo una consulta con la cláusula LIKE, pero solo me encuentra el texto tal y como lo escribo, es decir, si lo escribo en mayúsculas me encuentra solo en mayúsculas, y viceversa.
Yo lo que quiero es que si escribo un texto me lo encuentre tanto si está escrito de una forma como de otra.

Muchas gracias por adelantado.
Responder Con Cita
  #2  
Antiguo 20-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Tendrás que utilizar la función SQL Upper.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 20-04-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 20
Tecnic2 Va por buen camino
Unhappy Ejemplo por favor

Me podrias hacer un ejemplo por favor?
No lo veo muy claro.

Gracias.
Responder Con Cita
  #4  
Antiguo 20-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Código SQL [-]
SELECT NOMBRE from tabla where upper(nombre) lke '%perico%'

un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 20-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Cita:
Empezado por Lepe
Código SQL [-]
SELECT NOMBRE from tabla where upper(nombre) lke '%perico%'

un saludo
La consulta de Lepe en este caso nunca devolverá registros... dado que la condición compara una cadena siempre en mayúsculas (upper(nombre)) contra una que está en minúsculas... '%perico%'.

Lo correcto sería:

Código SQL [-]
Select nombre
  from tabla 
 where upper(nombre) lke '%PERICO%'

o bien

Código SQL [-]
Select nombre
  from tabla 
 where upper(nombre) lke upper('%perico%')

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 20-04-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 20
Tecnic2 Va por buen camino
Post Es la solucion ?

Con la solucion que me dais no sé si va a funcionar, yo no tengo por que saber si el texto que me ponen es en mayusculas o minusculas. Tiene que encontrar los registros indiferentemente de que el texto a buscar sea de una manera u otra.

Gracias.
Responder Con Cita
  #7  
Antiguo 20-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si va a funcionar, precisamente lo que se hace es convertirlo todo a mayúsculas para que la búsqueda se haga siempre en mayúsculas, por lo tanto te encontrará el texto esté guardado en mayúsculas o minúsculas e independientemente de que quien busca a su vez lo teclee en minúsuculas.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 20-04-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 20
Tecnic2 Va por buen camino
Thumbs up Funcionó!!!

Muchas gracias, lo que me ha funcionado ha sido la segunda opción:

Código:
where upper(nombre) lke upper('%perico%')

Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:31:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi