区分大小写的SQL区分大小写

  • 本文关键字:大小写 SQL sql collation
  • 更新时间 :
  • 英文 :


我试图有一个请求与大小写敏感的结果。

例如在我的数据库中我有

ABCdef
abcDEF
abcdef

请求是

SELECT * FROM table WHERE col = 'abcdef'

但是结果是3行我只需要abcdef

我试图找到一个解决方案

SELECT * 
FROM table 
WHERE col COLLATE Latin1_General_CS_AS = 'abcdef' COLLATE Latin1_General_CS_AS 

但是我有这个错误:

未知排序:'Latin1_General_CS_AS'{"success":false,"error":"#1273 -未知排序:'Latin1_General_CS_AS'"}

谢谢

谢谢你的帮助,我找到了解决方案,它不是拉丁1 ut utf8

COLLATE utf8_bin

Latin1_General_CS_AS是SQL Server的排序规则。

对于MySQL,试试latin1_general_cs:

WHERE col = 'abcdef' COLLATE latin1_general_cs 

区分大小写的字符串SQL区分上下SQL server 2008 R2或者在版本之后,你可以转换为二进制:

  1. 第一步转换二进制
  2. 最后一步比较两个字符串二进制

exp:

 SELECT * FROM dbo.staffl WHERE CAST(unitcode AS BINARY(50)) = CAST ('pcs' AS BINARY(50))