Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Buscar texto en mayusculas y minusculas (SQL). (https://www.clubdelphi.com/foros/showthread.php?t=20601)

Tecnic2 20-04-2005 10:54:12

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.

marcoszorrilla 20-04-2005 11:51:29

Tendrás que utilizar la función SQL Upper.

Un Saludo.

Tecnic2 20-04-2005 12:48:46

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

Gracias.

Lepe 20-04-2005 13:35:07

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

un saludo

jachguate 20-04-2005 15:32:27

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.

;)

Tecnic2 20-04-2005 18:40:59

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.

marcoszorrilla 20-04-2005 18:44:53

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.

Tecnic2 20-04-2005 19:09:35

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

Código:

where upper(nombre) lke upper('%perico%')

Gracias.


La franja horaria es GMT +2. Ahora son las 04:28:06.

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