データベース内の範囲内で一致する文字列をクエリしようとしています。テーブルには2つの列FromCode
とがありToCode
ます。
以下はサンプルデータです(テーブルが呼び出されると仮定しますCodeList
):
FromCode ToCode
IV1 0AA IV9 9ZZ
IV10 0AA IV28 9ZZ
IV30 0AA IV32 9ZZ
IV36 0AA IV36 9ZZ
IV40 0AA IV49 9ZZ
IV51 0AA IV56 9ZZ
IV63 0AA IV63 9ZZ
したがって、クエリを実行すると
SELECT *
FROM CodeList
WHERE FromCode <= 'IV1 1AB' AND ToCode >= 'IV1 1AB'
結果を返します
IV1 0AA IV9 9ZZ
どちらが正しい。しかし、私がこれを実行すると:
SELECT *
FROM CodeList
WHERE FromCode <= 'IV2 1AB' AND ToCode >= 'IV2 1AB'
私が返す結果は
IV1 0AA IV9 9ZZ
IV10 0AA IV28 9ZZ
したがって、人間にとって、文字列IV2 2AB
はではありIV1 0AA - IV9 9ZZ
ませんIV10 0AA - IV28 9ZZ
。
誰かがデータを検索するためのより良い方法を提案できれば、それは大いにありがたいです。また、これを実行しているエンジンはSQLServer2012です。
どうもありがとう!