SQL Server中的数字通配符

时间:2012-04-27 10:45:01

标签: sql sql-server sql-server-2008 wildcard

如何匹配SQL Server“LIKE”中的数字。

SpaceName
------------ 
| New_Space_1
| .
| .
| New_Space_8 
| New_Space_9
| New_Space_10
| New_Space_11
| New_Space_SomeString
| New_Space_SomeString1

以上是我的表格内容。 我想只获得以数字字符结尾的记录,即我想要从New_Space_1New_Space_11的记录。

不要New_Space_SomeStringNew_Space_SomeString1

我有这样的疑问。

SELECT SpaceName FROM SpaceTable
    WHERE SpaceName LIKE 'New_Space_%' 

但这会返回所有记录。

2 个答案:

答案 0 :(得分:17)

怎么样

SELECT SpaceName FROM SpaceTable
    WHERE SpaceName LIKE 'New[_]Space[_][0-9]%' 

我在括号中加下下划线的原因是因为在正则表达式中_表示任何单个字符。请阅读http://msdn.microsoft.com/en-us/library/ms179859.aspx

答案 1 :(得分:8)

来自@SteveKass的这个解决方案非常完美。

SELECT SpaceName FROM SpaceTable WHERE SpaceName LIKE 'New[_]Space[_]%' AND SpaceName NOT LIKE 'New[_]Space[_]%[^0-9]%'