境界値は MS SQL Server の "between" 演算子に適用されますか?
MS SQL Server の "between" 演算子は次のように包括的です。 Books Online で定義されています。これは、下限 (「begin_expression」) 以上、および上限 (「end_expression」) 以下の値が結果セットに含まれることを意味します。
例:クエリは、「foo」列に 5 から 10 までの値が含まれるすべての行を選択します:
SELECT foo FROM bar WHERE foo BETWEEN 5 AND 10
DateTime考慮事項
DateTime 値を使用する場合、「間」の比較では日付部分のみが考慮されることに注意することが重要です。正確な結果を保証するには、終了日の時刻コンポーネントを午前 0 時から 3 ミリ秒前に指定する必要があります。これにより、終了日の範囲内にある値のデータ損失や重複が防止されます。
たとえば、「myDateTime」列に 2016 年 6 月以内の値が含まれるすべての行を取得するには、次のクエリを使用します。
WHERE myDateTime BETWEEN '20160601' AND DATEADD(millisecond, -3, '20160701')
Datetime2 と Datetimeoffset操作
datetime2 または datetimeoffset データ型を使用する場合は、3 ミリ秒を減算する代わりに、次のより単純で正確なアプローチを使用することをお勧めします。
WHERE myDateTime >= '20160601' AND myDateTime < '20160701'
以上がMS SQL Serverの「BETWEEN」演算子には境界値が含まれますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。