Foros del Web » Programando para Internet » PHP »

Mayúsculas y Minúsclas en MySql

Estas en el tema de Mayúsculas y Minúsclas en MySql en el foro de PHP en Foros del Web. Hola a todos ! Intento hacer una select sobre una tabla que contiene un campo Memo. Mi problema es que al buscar una cadena contenida ...
  #1 (permalink)  
Antiguo 11/11/2003, 16:19
 
Fecha de Ingreso: febrero-2002
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Mayúsculas y Minúsclas en MySql

Hola a todos !

Intento hacer una select sobre una tabla que contiene un campo Memo.

Mi problema es que al buscar una cadena contenida dentro de ese memo utilizando el LIKE %%<cadena>%% dentro de la SQL el resultado es diferente si la cadena que busco la escribo con mayúsculas o con minúsculas.

Es decir, que tanto pepe, Pepe, PEPE dan resultados diferentes.

Como puedo hacer para que sea igual como escriba la cadena a buscar.

Una forma es almacenar el campo Memo en mayúsculas y luego hacer lo mismo con la cadena a buscar, pero me gustaría conservar la documentación que almaceno en el memo con su formato original.

Gracias, un saludo
  #2 (permalink)  
Antiguo 11/11/2003, 18:33
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
No sé si esto te siva:
Cita:
"Las búsquedas de texto completo son ejecutadas con la función MATCH(). Esta función ejecuta la búsqueda de una cadena en una colección de texto (un conjunto de una o más columnas incluídas en un índice FULLTEXT). La cadena que se busca es dada como un argumento en la función AGAINST(), y es ejecutada en modo no sensitivo, es decir, no importa el uso de mayúsculas y minúsculas...."
Más información acá:

http://www.mysql-hispano.org/page.php?id=15&pag=1

Aunque creo que el texto que pegué arriba está en la página 2, el artículo sobre búsquedas es muy interesante.

Saludos

Última edición por jpinedo; 11/11/2003 a las 18:34
  #3 (permalink)  
Antiguo 12/11/2003, 08:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ademas del interesante método de "FULL Text" para busquedas ..si usas "LIKE" ... puedes comparar tu cadena a buscar en minuculas o mayusculas forzando a tu cadena de busqueda a minusculas todo ( o a mayusculas)

$sql="SELECT * FROM tabla WHERE UCASE(campo) LIKE UCASE('%".$buscar."%')";

Más info en el manual de Mysql:
http://www.mysql.com/doc/en/String_functions.html

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 12/11/2003 a las 08:16
  #4 (permalink)  
Antiguo 20/11/2003, 15:37
 
Fecha de Ingreso: febrero-2002
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Gracias Cluster !

Una vez mas en tu linea...
  #5 (permalink)  
Antiguo 17/01/2006, 07:06
 
Fecha de Ingreso: febrero-2002
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Cita:
Iniciado por Cluster
Ademas del interesante método de "FULL Text" para busquedas ..si usas "LIKE" ... puedes comparar tu cadena a buscar en minuculas o mayusculas forzando a tu cadena de busqueda a minusculas todo ( o a mayusculas)

$sql="SELECT * FROM tabla WHERE UCASE(campo) LIKE UCASE('%".$buscar."%')";

Un saludo,
Esta solución funciona ya que no se modifica la información almacenada. Sin embargo cuando el volumen de datos es grande, los tiempos de búsqueda se disparan ya que el motor MySql pierde tiempo en poner todo en mayúsculas y hacer la búsqueda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:22.