2010-06-30 12 views
6

Betrachten Sie eine Tabelle datatbl wie folgt aus:Case sensitive RLIKE

+----------+ 
| strfield | 
+----------+ 
| abcde | 
| fgHIJ | 
| KLmno | 
+----------+ 

ich eine Abfrage, so etwas schreiben wollen:

select * from datatbl where strfield rlike '[a-z]*'; 

Wie in einer Nicht-SQL-regex, würde Ich mag an Die Zeile w/abcde zurückgeben, aber nicht die Zeilen mit Großbuchstaben. Ich kann keinen einfachen Weg finden, dies zu tun. Fehle ich etwas Dummes?

Danke, Joe

Antwort

12

Die MySQL REGEXP/RLIKE für dieses saugt - Sie die Daten als Binärdatei für Groß- und Kleinschreibung Suche werfen müssen:

SELECT * 
    FROM datatbl 
WHERE CAST(strfield AS BINARY) rlike '[a-z]*'; 

Sie finden diese in der comments for the REGEXP/RLIKE documentation angehoben finden .

+0

Nur für zukünftige Referenz, um die gesamte Zeichenfolge wie OP schien zu entsprechen, wollte die Regex "^ [a-z] * $" – Kip