ホームページ >データベース >mysql チュートリアル >SQL 日付範囲フィルタリング: BETWEEN と >= を使用する場合

SQL 日付範囲フィルタリング: BETWEEN と >= を使用する場合

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-07 08:36:40832ブラウズ

SQL Date Range Filtering: When to Use BETWEEN vs. >= と = と " />

SQL: "<=" と ">="

の比較

SQL Server 2000 および 2005 では、BETWEEN 演算子と「<=」との組み合わせ「>」日付範囲フィルタリングの演算子には、明確な特徴があります。

BETWEEN 演算子

BETWEEN 演算子は、範囲比較の式を簡素化する短縮構文です。たとえば、次の 2 つのクエリは、同じイベント日付範囲に基づいて行をフィルタリングします:

クエリ 1:

SELECT EventId, EventName
FROM EventMaster
WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009'

クエリ 2:

SELECT EventId, EventName
FROM EventMaster
WHERE EventDate >= '10/15/2009' AND EventDate <= '10/18/2009'

構文上の違いにもかかわらず、どちらのクエリでも同じ結果が得られます

状況別の使用法

BETWEEN を使用するか、"<=" および " を使用するかの選択>"演算子は特定のシナリオによって異なります:

  • Use BETWEEN: 範囲の両方のエンドポイントを含める必要がある場合。
  • Use "<= " および ">": 一方または両方のエンドポイントを除外する必要がある場合。例:

    SELECT EventId, EventName
    FROM EventMaster
    WHERE EventDate >= '10/15/2009' AND EventDate < '10/19/2009'

    DATETIME の処理

    DATETIME データ型 (DATE ではなく) を扱う場合、次の点に注意することが重要です。 BETWEEN 演算子は時間コンポーネントも考慮します。これは、次のクエリ:

    EventDate BETWEEN '10/15/2009' AND '10/18/2009'

    が '2009-10-15 00:00' から '2009-10-18 00:00' までの範囲の行を効果的にフィルタリングし、次の行を除外することを意味します。 October 18, 2009.

    10 月 18 日のすべての行を含めるには、 2009 では、クエリを変更する必要があります:

    EventDate BETWEEN '2009-10-15 00:00' AND '2009-10-18 23:59:59'

    以上がSQL 日付範囲フィルタリング: BETWEEN と >= を使用する場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:対 >= との間次の記事:対 >= との間