タイトルが示すように、sql between 句を使用すると、低から高までのアドレス範囲に対して実行され、2 つの範囲外の数値を入力して行が返されます。そして、その理由を知りたいです。
http://www.sqlfiddle.com/#!6/49467/2
クエリにすばやくヒットすると4929
、アドレス範囲の最小値と最大値がそれぞれである行が返され、行が返され400
ます498
。
クエリは次のとおりです。
SELECT
ZipCodeLow ,
ZipCodeHigh ,
ZipExtensionLow ,
EndingEffectiveDate ,
BeginningEffectiveDate ,
AddressRangeLow ,
AddressRangeHigh ,
StreetName ,
City ,
ZipCode ,
Zip4,
Zip4High
FROM BoundTable
WHERE
('68503' BETWEEN ZipCodeLow AND ZipCodeHigh) AND
('4929' BETWEEN [AddressRangeLow] AND [AddressRangeHigh]) AND
([StreetName] = '32ND') AND
(GETDATE() BETWEEN [BeginningEffectiveDate] AND [EndingEffectiveDate])