Arbeitsnotizen zu: MySQL case sensitive Vergleich bei einer ci column

Daten sind in einer case-insensitive Spalte abgelegt, sollen aber case-sensitive verglichen werden

Kommentieren Jan 04 2021

 

Die collation einer Spalte zeigt an wie bei Abfragen in MySQL die Daten behandelt werden.

Hat man nun Daten in einer _ci Spalte und kann diese nicht ändern, benötigt aber Vergleiche und Abfragen bei denen es auf die Schreibweise ankommt hilft der BINARY Operator.

mysql> SELECT 'a' = 'A';
        -> 1
mysql> SELECT BINARY 'a' = 'A';
        -> 0
mysql> SELECT 'a' = 'a ';
        -> 1
mysql> SELECT BINARY 'a' = 'a ';
        -> 0

mysql> SELECT * FROM tablename WHERE column = BINARY 'somevalue';