2017-03-16 6 views
1

16桁のシーケンスを保持するデータベース内のすべてのフィールドを返したいとします。以下のようなSQL - 不明な桁のシーケンスを保持するすべてのフィールドを返す

何か:

Select * From Table 
Where Column_1 LIKE '%----------------%' (where all - are numbers) 

が、これは可能ですか?

+4

はいです。何のRDBMSを使用していますか? –

+2

サンプルデータと望ましい結果も提供してください。あなたは、文字列のどこにいても16の数字を含むフィールドか、正確に16の数字を含むフィールドを探していますか? –

+1

@GordonLinoff「16数字」〜「16桁」 –

答えて

2

標準SQlに従って、大括弧([])を使用して文字セットを指定できます。あなたのケースでソリューションを使用すると、文字が(実質的には、1- 9区間に含ま16時間があることを指定

そのコードを使用して
Select * From Table 
Where Column_1 LIKE '[1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9] 
     [1-9][1-9][1-9][1-9][1-9][1-9]' 

ことwolud 1,2,3,4,5,6,7,8または9)、それは[1-9]の式の16倍を繰り返して与えられました。この助けを願って

3

このようにしてください。

Select * From Table 
Where LEN(Column_1) = 16 

数字の場合にのみ、これも追加できます。

Select * From Table 
Where LEN(Column_1) = 16 AND ISNUMERIC(Column_1) = 1 
関連する問題