如何使SQL区分大小写

问题描述:

我有一个在域托管服务上设置的Access数据库。我通过SQL连接到它。但是,我需要所有查询都区分大小写,并且据我所知,托管服务上的服务器设置方式不区分大小写。是否有我可以在我的SQL中使用的特定命令,这将使查询大小写敏感?如何使SQL区分大小写

+1

,您可以在相关的找到灵感,而不是重复的问题:http://*.com/questions/153944/is-sql-syntax-case-sensitive – 2011-04-21 17:38:12

+0

什么数据库引擎是你在用吗? – Lamak 2011-04-21 17:39:19

+0

@BobKaufman谢谢,在我问这个问题之前,我已经看到了这个问题。 – futurevilla216 2011-04-21 17:40:44

我想你可以在WHERE子句之后添加整理。

SELECT col FROM table 
WHERE col COLLATE Latin1_General_CS_AS = 'value' 
+0

谢谢,现在就试试。如果我有WHERE col COLLATE abc ='value'并且...我会在AND之后加整理,对吗? – futurevilla216 2011-04-21 17:45:00

+0

是的,我相信如此 – Niklas 2011-04-21 17:47:51

+0

好的,谢谢。我现在会尝试。 – futurevilla216 2011-04-21 17:48:39

您是否需要将整个数据库设置为区分大小写,还是只是某些查询的一部分。如果它是一个查询词,那么你可以使用这些强制区分大小写的匹配:

StrComp("A","a",0) 

方法签名的0是执行二进制比较给你你想要的区分大小写。它返回一个整数。

WHERE StrComp('myText1', 'MYTeXt1', 0) = 0 

Documentation

+0

我需要我的整个数据库区分大小写。 – futurevilla216 2011-04-21 17:46:02

+0

当我尝试'WHERE ASC(text1)= ASC(text2)'时,我得到一个无效的过程调用。对于你提出的第一个建议,这将如何工作?我只需键入WHERE StrComp('myText1','MYTeXt1')'? – futurevilla216 2011-04-24 16:34:16

+0

检查我更新的答案。 – 2011-04-24 19:55:36