Как сделать Case Sensitive сравнение в MySQL. Решение
Небинарные строки (CHAR, VARCHAR, TEXT) в MySQL по умолчанию не чувствительны к регистру. Поэтому запрос SELECT * FROM enterprise WHERE company = ‘SPG‘ выведет все три строки.
Для вывода только одной записи с ‘SPG’ существуют следующие решения:
1. Приведение столбца к типу BINARY (т.к. тип BINARY чувствителен к регистру):
2. Выбор чувствительного к регистру набора символов с помощью COLLATE:
Небинарные строки (CHAR, VARCHAR, TEXT) в MySQL по умолчанию не чувствительны к регистру. Поэтому запрос SELECT * FROM enterprise WHERE company = ‘SPG‘ выведет все три строки.
Для вывода только одной записи с ‘SPG’ существуют следующие решения:
1. Приведение столбца к типу BINARY (т.к. тип BINARY чувствителен к регистру):
SQL:
SELECT * FROM enterprise WHERE BINARY company = ‘SPG‘;
SQL:
SELECT * FROM enterprise WHERE company COLLATE utf8mb4_0900_as_cs = ‘SPG‘;