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_1
からNew_Space_11
までのレコードが欲しい。
New_Space_SomeString
とNew_Space_SomeString1
は不要
このようなクエリがあります。
SELECT SpaceName FROM SpaceTable
WHERE SpaceName LIKE 'New_Space_%'
しかし、これはすべてのレコードを返します。
@SteveKassのこのソリューションは完璧に機能します。
SELECT SpaceName FROM SpaceTable WHERE SpaceName LIKE 'New[_]Space[_]%' AND SpaceName NOT LIKE 'New[_]Space[_]%[^0-9]%'
どうですか
SELECT SpaceName FROM SpaceTable
WHERE SpaceName LIKE 'New[_]Space[_][0-9]%'
アンダースコアを角かっこで囲んだ理由は、正規表現では_が任意の1文字を意味するためです。このように読んでください http://msdn.Microsoft.com/en-us/library/ms179859.aspx