15

SQLServerの「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_1必要New_Space_11です。

したくないNew_Space_SomeStringNew_Space_SomeString1

このようなクエリがあります。

SELECT SpaceName FROM SpaceTable
    WHERE SpaceName LIKE 'New_Space_%' 

ただし、これはすべてのレコードを返します。

4

2 に答える 2

20

どうですか

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

アンダースコアを角かっこで囲んだ理由は、正規表現で_が任意の1文字を意味するためです。ここのように読んでくださいhttp://msdn.microsoft.com/en-us/library/ms179859.aspx

于 2012-04-27T10:46:58.410 に答える
8

@SteveKassのこのソリューションは完璧に機能します。

SELECT SpaceName FROM SpaceTable WHERE SpaceName LIKE 'New[_]Space[_]%' AND SpaceName NOT LIKE 'New[_]Space[_]%[^0-9]%' 
于 2012-05-02T09:12:17.147 に答える