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

buscar en un campo la palabra exacta

Estas en el tema de buscar en un campo la palabra exacta en el foro de Mysql en Foros del Web. necesitaria buscar en un campo de una base de datos mysql sin importar si es mayusculas o minuscula probe usando like pero no diferencia minusculas ...
  #1 (permalink)  
Antiguo 30/11/2015, 07:38
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
buscar en un campo la palabra exacta

necesitaria buscar en un campo de una base de datos mysql sin importar si es mayusculas o minuscula probe usando like pero no diferencia minusculas de mayusculas en el campo de la bd dicho campo lo defini como binario, este es la consulta:

Código MySQL:
Ver original
  1. SELECT nombre FROM productos WHERE nombre LIKE "PC" ORDER BY nombre

Es decir si en la bd tengo guardado pc(minusculas) no me lo muestra, que deberia hacer, gracias de antemano saludos.
  #2 (permalink)  
Antiguo 30/11/2015, 08:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: buscar en un campo la palabra exacta

En primer ligar, no uses LIKE si vas a buscar un texto exacto. LIKE se usa para busqueda por patrones, y no para coincidencias exactas. Los algorimos internos son diferentes.

Código MySQL:
Ver original
  1. SELECT nombre FROM productos
  2. WHERE nombre = 'PC'
  3. ORDER BY nombre

En segundo lugar:
Cita:
Es decir si en la bd tengo guardado pc(minusculas) no me lo muestra, que deberia hacer, gracias de antemano saludos.
Eso es un problema de charset y collation. La tabla está usando un utf8_general_bin o algo así. El "BIN" que aparece al final especifica que se haga una validación en binario de los caracteres, que genera una coincidencia exacta de caracteres, la cual diferencia entre mayúsculas y minúsculas, porque sus códigos en binario son diferentes.

Usa un utf8_general_ci o latin1_general_ci, si eso es lo que tiene
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, palabra, select
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 14:39.