Estoy tratando de obtener nombres usando Like '%BEJO%', pero no se encuentra ningún registro porque mis datos en la base de datos son 'Bejo'.

¿Cómo obtengo el nombre 'Bejo' con LIKE '%BEJO%'? (no distingue entre mayúsculas y minúsculas)

1
Aditya 21 feb. 2018 a las 07:41

2 respuestas

La mejor respuesta

Prueba esto:

select t1.*
from table1 t1
where LOWER(column_name) LIKE LOWER('%BEJO%');
2
Kannan K 21 feb. 2018 a las 04:51

Parece que la intercalación de esa columna distingue entre mayúsculas y minúsculas. Si desea que siempre no distinga entre mayúsculas y minúsculas, cambie su intercalación por la que termine con ci. Si desea mantenerlo como está y solo hacer que la consulta no distinga entre mayúsculas y minúsculas, puede cambiar la intercalación en la consulta. Ejemplo:

SELECT *
FROM table1
WHERE name LIKE '%BEJO%' COLLATE utf8_general_ci;

Alternativamente, puede simplemente cambiar el caso de ambos lados usando LOWER() o UPPER(). Ejemplo:

SELECT *
FROM table1
WHERE UPPER(name) LIKE UPPER('%BEJO%');
0
Racil Hilan 21 feb. 2018 a las 05:09