Где двоичный код в 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