3

nvarchar4桁のフィールドがあります。最初の 2 桁は 00 から 99 の間です。次の 2 桁は 00 から 15 の間の数字でなければなりません

私のSQllikeは次のようになります。

I4020 like '[0-9][0-9][0-1][0-9]'

問題は、たとえば 1219 が可能であることです。

likeパターンでこれを行うことは可能ですか?

BR ステファン

4

3 に答える 3

5

1つのLIKEパターンでこれを行うことはできません。ただし、次の2つを使用できます。

(I4020 like '[0-9][0-9]0[0-9]' OR I4020 like '[0-9][0-9]1[0-5]')

または、フィールドに常に数字が含まれている場合は、数値マッチングを使用できます。

I4020 LIKE '[0-9][0-9][0-9][0-9]'
AND CONVERT(int, RIGHT(I4020, 2)) <= 15

ただし、T-SQLANDは短絡しないことに注意してください。の右端の2文字I4020が数値でない場合、後者のクエリは失敗する可能性があります。

于 2012-12-13T12:56:26.480 に答える
2

ブレーキ間隔

(I4020 like '[0-9][0-9]0[0-9]' OR I4020 like '[0-9][0-9]1[0-5]')
于 2012-12-13T12:56:01.397 に答える
0

(I4020 like '[0-9][0-9]0[0-9]' OR I4020 like '[0-9][0-9]1[0-5]')

于 2012-12-13T12:56:39.507 に答える