简体   繁体   English

SQL Server中的数字通配符

[英]Wildcard of Number in SQL Server

How to match numbers in SQL Server 'LIKE'. 如何匹配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

Above is my table contents. 以上是我的表格内容。 I want to get only records ending with Numeric chars, ie I want the records from New_Space_1 to New_Space_11 . 我想只获得以Numeric字符结尾的记录,即我想要从New_Space_1New_Space_11的记录。

Don't want New_Space_SomeString and New_Space_SomeString1 不想要New_Space_SomeStringNew_Space_SomeString1

I have some query like this. 我有这样的问题。

SELECT SpaceName FROM SpaceTable
    WHERE SpaceName LIKE 'New_Space_%' 

But this returns all records. 但这会返回所有记录。

what about 关于什么

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

The reason I put underscore in brackets is because in a regular expression _ means Any single character. 我在括号中加下下划线的原因是因为在正则表达式中_表示任何单个字符。 Read up on like here http://msdn.microsoft.com/en-us/library/ms179859.aspx 请阅读http://msdn.microsoft.com/en-us/library/ms179859.aspx

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM