Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

minusculas y mayusculas

Estas en el tema de minusculas y mayusculas en el foro de Mysql en Foros del Web. Buenos días, hay alguna manera de hacer una busqueda de una cadena que sea sencible a mayusculas y minusculas sin necesidad de pasar esos valores ...
  #1 (permalink)  
Antiguo 17/09/2009, 08:22
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
minusculas y mayusculas

Buenos días, hay alguna manera de hacer una busqueda de una cadena que sea sencible a mayusculas y minusculas sin necesidad de pasar esos valores a md5? estuve viendo eso del COLLATE del mysql ... serviria en ese caso?
__________________
Quitenme la vida pero no la bebida.
  #2 (permalink)  
Antiguo 17/09/2009, 12:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: minusculas y mayusculas

Para eso sobre todo sirve el COLLATE para ordenamiento y comparación de datos. Cambia el cotejamiento o collation del campo sobre el que quieras hacer la consulta a uno que no tenga terminación ci. Dinos qué charset, qué codificación tienes para el campo y podríamos aconsejarte alguno. Ese cambio en el campo bastaría, pero debes elegir la collation apropiada al charset. Si usas utf8, podrías aplicar utf8_bin, y si usas latin1, latin1_bin.

Con eso harías la consulta sensible a mayúsculas y minúsculas, acentos, etc.
  #3 (permalink)  
Antiguo 17/09/2009, 13:38
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: minusculas y mayusculas

bueno en mis campos siempre uso utf8_general_ci .... me podria brindar un ejemplo con ese collation?
__________________
Quitenme la vida pero no la bebida.
  #4 (permalink)  
Antiguo 17/09/2009, 15:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: minusculas y mayusculas

1) pues cambia esa collation a utf8_bin en el campo en el que hagas la búsqueda.
2) O, si no quieres hacerlo, porque usas ese campo para otras consultas en que necesitas case insensitive (ci), aplica un cast como este a dicha consulta:
Código SQL:
Ver original
  1. SELECT *
  2. FROM tabla
  3. WHERE campo = CAST( 'texto' AS CHAR
  4. CHARACTER SET utf8 ) COLLATE utf8_bin
  #5 (permalink)  
Antiguo 17/09/2009, 17:15
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: minusculas y mayusculas

simplemente excelente, muchas gracias
__________________
Quitenme la vida pero no la bebida.
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




La zona horaria es GMT -6. Ahora son las 01:55.