喜欢区分大小写的通配符

时间:2018-02-20 09:19:24

标签: sql-server sql-server-2016

我收到了以下问题:

SELECT *
FROM sys.objects AS O
WHERE O.is_ms_shipped = 0
AND O.name LIKE '%[A-Z][A-Z][A-Z]%' COLLATE Latin1_General_CS_AS;

这应该是找到数据库中至少有三个连续大写字符的所有对象,但它似乎不起作用,我不确定为什么。我试图明确列出所有字符而不是指定范围,但它没有解决问题。

示例数据:

name
---------
HTMLTable
HtmlTable

期望的输出:

name
---------
HTMLTable

2 个答案:

答案 0 :(得分:5)

请改为尝试:

LIKE '%[A-Z][A-Z][A-Z]%' COLLATE Latin1_General_Bin

答案 1 :(得分:2)

以下代码应该有效 -

Name1   Name2   Value1  Value2
Sara    Amy     1265    1241
John    Sara    1142    1214
Amy     Henry   1295    1121
Amy     John    1175    1323
Sara    John    1085    1251
Sara    Henry   1242    1374
Amy     Sara    1124    1055