Encontrar todas las tapas de las columnas?
-
13-09-2019 - |
Pregunta
Cuando se trabaja con MySQL, ¿cómo puedo recuperar todas las filas donde la columna nombre es todo en mayúsculas?
Dado que la igualdad es sensible a mayúsculas, no estoy muy seguro de cómo hacer esto.
Solución
Si su intercalación de columna es sensible a mayúsculas, puede sustituir en su consulta:
SELECT * FROM my_table WHERE my_column COLLATE latin1_bin = UPPER(my_column);
Otros consejos
SELECT * FROM my_table REGEXP '^[[:upper:]]+$';
SELECT * FROM table where binary your_field REGEXP '^[[:upper:]]+$'
Del mismo modo:
SELECT * FROM table where binary your_field REGEXP '^[[:upper:]]+$'
El 'binario' arroja el campo a binario que es necesaria para REGEXP sea mayúsculas y minúsculas con la mayoría de tipos de datos (excepto binario, por supuesto).
notación [:character_class:]
se documenta aquí - hay varios otros clases de caracteres útiles.
operador 'binario' se documenta rel="nofollow"> href="http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html" .