Ver la Versión Completa : Buscar texto en mayusculas y minusculas (SQL).
Tecnic2
20-04-2005, 10:54:12
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
Me podrias hacer un ejemplo por favor?
No lo veo muy claro.
Gracias.
SELECT NOMBRE from tabla where upper(nombre) lke '%perico%'
un saludo
jachguate
20-04-2005, 15:32:27
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:
Select nombre
from tabla
where upper(nombre) lke '%PERICO%'
o bien
Select nombre
from tabla
where upper(nombre) lke upper('%perico%')
Hasta luego.
;)
Tecnic2
20-04-2005, 18:40:59
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
Muchas gracias, lo que me ha funcionado ha sido la segunda opción:
where upper(nombre) lke upper('%perico%')
Gracias.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.