Как сравнить регистр с учетом регистра - PullRequest
0 голосов
/ 16 октября 2018

Оператор

SELECT * FROM table WHERE some_field IN ('abc', 'def', 'ghi')

игнорирует регистр, поэтому записи также обнаруживаются, когда some_field равен, например, 'ABC'.

Размещение COLLATE после списка, к сожалению, приводит к синтаксической ошибке.Кто-нибудь знает, как сравнить список IN с учетом регистра без изменения (нечувствительного) параметра сортировки для БД или отдельного поля?

1 Ответ

0 голосов
/ 16 октября 2018

Вам необходимо использовать COLLATE после имени столбца:

SELECT * FROM table 
WHERE some_field COLLATE <collation_name>_CS IN ('abc', 'def', 'ghi');

db <> fiddle demo

...