Trovare tutte le protezioni in colonne?
-
13-09-2019 - |
Domanda
Quando si lavora con MySQL, come posso recuperare tutte le righe in cui la colonna nome è tutto maiuscolo?
Dal momento che l'uguaglianza è case insensitive, io non sono molto sicuro come fare questo.
Soluzione
Se la fascicolazione colonna è case insensitive, è possibile escludere che nella query:
SELECT * FROM my_table WHERE my_column COLLATE latin1_bin = UPPER(my_column);
Altri suggerimenti
SELECT * FROM my_table REGEXP '^[[:upper:]]+$';
SELECT * FROM table where binary your_field REGEXP '^[[:upper:]]+$'
Allo stesso modo:
SELECT * FROM table where binary your_field REGEXP '^[[:upper:]]+$'
Il 'binario' getta il campo per binario che è necessario per REGEXP sia con la maggior parte dei tipi di dati-sensitive (tranne binario, naturalmente).
[:character_class:]
notazione è documentata qui - ci sono molti altri classi di personaggi utili.
operatore 'binario' è documentato href="http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html" qui .