sql-server - 如何比较 IN 列表区分大小写
问题描述
该声明
SELECT * FROM table WHERE some_field IN ('abc', 'def', 'ghi')
忽略大小写,因此例如当 some_field 为 'ABC' 时也会找到记录。
不幸的是,在列表之后放置 aCOLLATE
会产生语法错误。有谁知道如何在IN
不更改数据库或单个字段的(不敏感)排序规则设置的情况下比较列表区分大小写?
解决方案
您需要COLLATE
在列名之后使用:
SELECT * FROM table
WHERE some_field COLLATE <collation_name>_CS IN ('abc', 'def', 'ghi');
推荐阅读
- reactjs - 模块解析失败,Webpack Phoenix React Semantic UI Theming 出现意外令牌
- r - purrr::map 变体返回长 data.frame
- java - 如何让 spring security 与嵌入式码头一起工作?
- python - While 循环在 python 脚本中两次询问 input() 条目
- html - 使用反应创建“全局”页眉和页脚
- c# - 如何从列表中修剪结束
- javascript - 如何将下面的函数转换为箭头函数
- reactjs - 如何使用 webflux 端点从 React 生成 json 流
- c# - 将 SQL db 导出到 Excel 问题
- r - 使用 R 跨多样本相关性的多基因