SQL Server中的数字通配符

Sre*_*r P 15 sql sql-server wildcard sql-server-2008

如何匹配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
Run Code Online (Sandbox Code Playgroud)

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

不要New_Space_SomeStringNew_Space_SomeString1

我有这样的问题.

SELECT SpaceName FROM SpaceTable
    WHERE SpaceName LIKE 'New_Space_%' 
Run Code Online (Sandbox Code Playgroud)

但这会返回所有记录.

SQL*_*ace 17

关于什么

SELECT SpaceName FROM SpaceTable
    WHERE SpaceName LIKE 'New[_]Space[_][0-9]%' 
Run Code Online (Sandbox Code Playgroud)

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

  • 怎么样:SELECT SpaceName FROM SpaceTable WHERE SpaceName LIKE'新[\ _]空格[\ _]%'和空格名不喜欢'新[\ _]空格[\ _]%[^ 0-9]%' (6认同)
  • 一个问题..这个“New_Space_8-56”也由查询返回 (2认同)

Sre*_*r P 8

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

SELECT SpaceName FROM SpaceTable WHERE SpaceName LIKE 'New[_]Space[_]%' AND SpaceName NOT LIKE 'New[_]Space[_]%[^0-9]%' 
Run Code Online (Sandbox Code Playgroud)