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.

¿Fue útil?

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);

Intercalar sintaxis cláusula .

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" .

scroll top