如何比较IN列表区分大小写

时间:2018-10-16 15:27:55

标签: sql-server tsql sql-server-2012

声明

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

忽略大小写,因此,例如,当some_field为'ABC'时也会找到记录。

不幸的是,在列表后放置COLLATE会产生语法错误。有谁知道如何比较IN区分大小写而不更改数据库或单个字段的(不敏感)排序规则设置?

1 个答案:

答案 0 :(得分:2)

您需要在列名后使用COLLATE

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

db<>fiddle demo