【问题标题】:Case sensitive matching in IN clause in SQLSQL中IN子句中区分大小写的匹配
【发布时间】:2020-03-22 03:57:44
【问题描述】:

我的表中有 2 行是这样的

  • 姓名:查理 ID:26
  • 姓名:弗兰克身份证:28

我想要一个区分大小写的比较。

我写了一个这样的查询

select *  
from table1 
where name in ('charlie', 'Frank') COLLATE Latin1_General_CS_AS; 

但它不起作用。查询应该是什么?

【问题讨论】:

  • 您想要大小写不敏感或敏感匹配?你的整理是CS
  • 我想要区分大小写的匹配。
  • 您的表格的当前排序规则是什么?
  • @TimBiegeleisen,我是 sql 新手,我不知道排序规则是什么。

标签: sql select


【解决方案1】:

您需要将列更改为区分大小写。比如:

ALTER TABLE table1
ALTER COLUMN name VARCHAR(100) 
COLLATE SQL_Latin1_General_CP1_CS_AS

请参阅https://stackoverflow.com/a/485394/224370,这是一个略有不同的问题,但适用的答案相同。

【讨论】:

    猜你喜欢
    • 2017-06-21
    • 2012-11-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 2020-12-06
    相关资源
    最近更新 更多