I will show how to use it, with 'case' operator.
The main difference between normal case and binary is that Case binary check the binary value of argument.
Let's see that on exaples:
mysql> SELECT CASE 'A' WHEN 'a' THEN 1 WHEN 'A' THEN 2 END; +------------------------------------------------+ | CASE 'A' WHEN 'a' THEN 1 WHEN 'A' THEN 2 END | +------------------------------------------------+ | 1 | +------------------------------------------------+ mysql> SELECT CASE BINARY 'A' WHEN 'a' THEN 1 WHEN 'A' THEN 2 END; +------------------------------------------------------+ | CASE BINARY 'A' WHEN 'a' THEN 1 WHEN 'A' THEN 2 END | +------------------------------------------------------+ | 2 | +------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT CASE 'HoMe' WHEN 'HOME' THEN 1 WHEN 'HoMe' THEN 2 END; +---------------------------------------------------------+ | CASE 'HoMe' WHEN 'HOME' THEN 1 WHEN 'HoMe' THEN 2 END | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.01 sec) mysql> SELECT CASE BINARY 'HoMe' WHEN 'HOME' THEN 1 WHEN 'HoMe' THEN 2 END; +---------------------------------------------------------------+ | CASE BINARY 'HoMe' WHEN 'HOME' THEN 1 WHEN 'HoMe' THEN 2 END | +---------------------------------------------------------------+ | 2 | +---------------------------------------------------------------+ 1 row in set (0.00 sec)So as you can see, no need to apply addition lower() and upper() function to compare strings.
If you wanna learn something more about binary operator see manual
http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html
Brak komentarzy:
Prześlij komentarz