Где двоичный код в SQL

У меня есть оператор SQL:

SELECT * FROM customers WHERE BINARY login='xxx' AND password='yyyy'

В таблице нет blob/двоичных полей, нужна ли BINARY после WHERE, что еще она делает?

Ответ 1

BINARY - это встроенное ключевое слово, которое после вашего предложения WHERE, которое заставляет сравнивать точное совпадение с регистром.

В качестве дополнительной заметки вы также можете сделать столбцы с учетом регистра, добавив ключевое слово BINARY при создании своей таблицы.

Ответ 2

https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary

Оператор BINARY преобразует следующую строку в двоичную строку. Это простой способ заставить сравнение выполняться побайтово, а не посимвольно. BINARY также приводит к значению конечных пробелов.

Ответ 3

SELECT 'user' = 'UsEr' // true
SELECT BINARY 'user' = 'UsEr' // false