ホームページ >データベース >mysql チュートリアル >mysqlで日付範囲をクエリする方法

mysqlで日付範囲をクエリする方法

WBOY
WBOYオリジナル
2022-01-12 11:57:2239801ブラウズ

mysql では、「BETWEEN AND」キーワードを使用して、指定された日付範囲をクエリできます。このキーワードは、フィールドの値が指定された範囲内にあるかどうかを判断するために使用されます。構文は「SELECT * FROM」です。テーブル名 WHERE フィールド名 'time1' と 'time2' の間。

mysqlで日付範囲をクエリする方法

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysql は日付範囲をどのようにクエリしますか

MySQL は、フィールドの値が指定された範囲内にあるかどうかを判断するために BETWEEN AND キーワードを提供します。 。

BETWEEN AND には、範囲の開始値と終了値の 2 つのパラメータが必要です。フィールド値が指定された範囲内にある場合、これらのレコードが返されます。規定範囲外の場合は返品不可となります。

BETWEEN AND を使用するための基本的な構文形式は次のとおりです:

[NOT] BETWEEN 取值1 AND 取值2

その中に:

  • NOT: オプションのパラメーター。範囲外の値を示します。指定された範囲。フィールド値が指定された値の範囲を満たさない場合、これらのレコードが返されます。

  • 値 1: 範囲の開始値を示します。

  • 値 2: 範囲の終了値を示します。

BETWEEN AND キーワードと NOT BETWEEN AND キーワードは、指定した範囲内のレコードをクエリする場合に便利です。たとえば、学生の年齢層と生年月日、従業員の給与レベルなどをクエリします。

例は次のとおりです。

次のテーブルはクエリに使用されます。create_time は datetime 型で、2 つの日付範囲内のデータをクエリします。

mysqlで日付範囲をクエリする方法

方法 1、...と (推奨) の間

SELECT * FROM k_student WHERE create_time  between '2019-07-25 00:00:33' and '2019-07-25 00:54:33'

方法 2、以下

SELECT * FROM k_student WHERE create_time >= &#39;2019-07-25 00:00:33&#39; AND create_time <= &#39;2019-07-25 00:54:32&#39;

方法 3 、変換 UNIX_TIMESTAMP 比較の場合、create_time にインデックスが付けられている場合、インデックスは使用されません

SELECT * FROM k_student WHERE  UNIX_TIMESTAMP(create_time)  between UNIX_TIMESTAMP(&#39;2019-07-25 00:00:33&#39;) and UNIX_TIMESTAMP(&#39;2019-07-25 00:54:33&#39;)

推奨学習: mysql ビデオ チュートリアル

以上がmysqlで日付範囲をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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