TSQL:匹配一个字符的模式或通配符的字符串操作

时间:2009-10-05 22:09:51

标签: sql tsql

考虑是否需要在列中查询特定的数据模式。我将使用的示例是拥有加拿大邮政编码的客户。

ID       Postal
--       -------
442      90210  
631      T0R 4C2
447      YO31 1EB
145      F9S8S6
73       K9J 3K3

假装您没有轻松(例如州/省或国家/地区),或者您正在运行不合格报告。是的,不要相信用户输入!

-- we want to find: three chars + space + 3 chars 'XXX XXX'
-- LIKE % is not terribly helpful
SELECT * FROM SomeTable 
WHERE  Postal LIKE  --?

我们希望结果集为

ID       Postal
--       -------
631      T0R 4C2
73       K9J 3K3

问题:您如何制定LIKE条款?

2 个答案:

答案 0 :(得分:3)

下划线仅匹配一个角色。这是你在找什么?

LIKE '___ ___'

答案 1 :(得分:2)

SELECT * 
FORM SomeTable 
WHERE Postal LIKE '___ ___'

甚至更好,当你想指定确切的数字 - 字母时,你可以这样做:

SELECT * 
FORM SomeTable 
WHERE Postal LIKE '[a-z][a-z][a-z] [0-9][0-9][0-9]'

这取决于您想要获得的代码类型。