我正在试图查找包含大写字母的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