それは、ファイル拡張子の前部分文字列を取得し、それかどうかをチェックされて行う一つの方法を使用することができれば、あなたのバージョンに応じて、数値です。この解決策は、ファイル名に1つしかない場合はうまく動作します。
select * from web_pub_subfile
where isnumeric(left(file_name,charindex('.',file_name)-1)) = 1
注:
ISNUMERICは、プラス(+)として数値ではありませんいくつかの文字のための1を返し、マイナス( - )、および、そのようなドル記号(有効な通貨記号$)。
はmutliple
.
文字を含むファイル名を処理し、常に
.filetype
拡張子がある場合@Blorgbeardによって示唆されるように、の使用を避けるために、コメントで
select * from web_pub_subfile
where isnumeric(left(file_name,len(file_name)-charindex('.',reverse(file_name)))) = 1
and charindex('.',file_name) > 0
Sample demo
を使用するにはisnumeric
、使用
select * from web_pub_subfile
where left(file_name,len(file_name)-charindex('.',reverse(file_name))) NOT LIKE '%[^0-9]%'
and len(left(file_name,len(file_name)-charindex('.',reverse(file_name)))) > 0
LIKE構文は正規表現ではありません。https: //msdn.microsoft.com/en-us/library/ms179859.aspx – Blorgbeard