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.

È stato utile?

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

collazionare sintassi clausola .

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top