我正在試圖查找包含大寫字母的6個或更多字母數字字符的記錄。一些例子:如何使用LIKE執行區分大小寫的搜索?
PENDING 3RDPARTY CODE27
我用以下語句:
SELECT Details
FROM MyTable
WHERE Details LIKE '%[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]%';
這回不管情況下,任何包含6色或更多個字母的單詞的所有記錄。
我添加了一個COLLATE
聲明:
SELECT Details
FROM MyTable
WHERE Details COLLATE Latin1_General_CS_AS LIKE '%[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]%';
這改變不了什麼。無論大小寫如何,它仍然以6個或更多字母的單詞返回記錄。
就像一個測試,我想:
SELECT Details
FROM MyTable
WHERE Details COLLATE Latin1_General_CS_AS LIKE '%pending%';
SELECT Details
FROM MyTable
WHERE Details COLLATE Latin1_General_CS_AS LIKE '%PENDING%';
的這些工作都,返回一個包含「待定」分別爲「待定」的記載。所以這個問題似乎由LIKE
克勞斯的模式匹配。
如何才能執行此區分大小寫的搜索?
嘗試使用COLLATE Latin1_General_BIN – 2013-02-26 01:08:49
完美!想要做出答案? – 2013-02-26 01:11:11
爲什麼?得到幾點。我只是因爲知道我的幫助而感到滿意。 – 2013-02-26 01:16:07