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 .txt, .json, .md

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 Spaltendefintion 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';