2011-04-21 133 views
4

我有一個在域託管服務上設置的Access數據庫。我通過SQL連接到它。但是,我需要所有查詢都區分大小寫,並且據我所知,託管服務上的服務器設置方式不區分大小寫。是否有我可以在我的SQL中使用的特定命令,這將使查詢大小寫敏感?如何使SQL區分大小寫

+1

,您可以在相關的找到靈感,而不是重複的問題:http://stackoverflow.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

回答

3

我想你可以在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

5

您是否需要將整個數據庫設置爲區分大小寫,還是隻是某些查詢的一部分。如果它是一個查詢詞,那麼你可以使用這些強制區分大小寫的匹配:

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