2

私たちのチームのそれぞれは、日付間のデータを抽出する独自の方法を持っており、以下を使用してデータを抽出する2つの一般的な方法があります。

  1. [DateTimeColumn]@StartDateと@EndDateの間
  2. [DateTimeColumn]> @StartDate AND [DateTimeColumn] <= @EndDate

いつ/違い"BETWEEN"と">AND<="を日時に:SQLクエリ最適化と2つのうちどちらを使用するのが最適か。

4

2 に答える 2

9

BETWEEN演算子は、区間の包括的終了を使用します。間隔の一方または両方の端を除外する場合は、特定の比較操作を使用してください。

さらに、BETWEEN複雑な式に対してテストする場合に便利です。たとえば、次のように記述します。

... AND CASE WHEN A>0 THEN open_date ELSE close_date END BETWEEN '01/01/2012' AND '05/01/2012'

CASE式を2回繰り返すよりも簡単です。

于 2012-05-29T03:20:53.390 に答える
1

dashblinkenlightによって作成されたポイントに追加するだけで、Betweenと<>演算子のパフォーマンスの問題は実際には見られません。両方の状況でクエリプランを確認できます。唯一の明らかな違いは、Betweenが包括的であるということです。

于 2012-05-29T03:32:59.557 に答える