SQL Server查询区分大小写

Gol*_*old 19 sql sql-server case-sensitive sql-server-ce

我有这个数据库:

abcDEF

ABCdef

abcdef
Run Code Online (Sandbox Code Playgroud)

如果我写: select * from MyTbl where A='ABCdef'

如何获得: ABCdef

以及如何获得:

abcDEF

    ABCdef

    abcdef
Run Code Online (Sandbox Code Playgroud)

提前致谢

忘了写 - sqlCE

Red*_*ter 32

您可以通过使用COLLATE关键字使您的查询区分大小写.

SELECT A 
FROM MyTbl 
WHERE A COLLATE Latin1_General_CS_AS = 'ABCdef'
Run Code Online (Sandbox Code Playgroud)


gbn*_*gbn 6

如果您已经在数据库中使用了abcDEF,ABCdef,abcdef,那么它已经区分大小写或者您没有约束.

您必须COLLATE在两侧添加一个以确保它真正区分大小写(对于非区分大小写的数据库),这将使索引使用无效

SELECT TheColumn
FROM MyTable 
WHERE TheColumn COLLATE Latin1_General_CS_AS = 'ABCdef' COLLATE Latin1_General_CS_AS
Run Code Online (Sandbox Code Playgroud)

口音怎么样?Latin1_General_CS_AI,Latin1_General_Bin