ホームページ >データベース >mysql チュートリアル >mysqlで日付範囲をクエリする方法
mysql では、「BETWEEN AND」キーワードを使用して、指定された日付範囲をクエリできます。このキーワードは、フィールドの値が指定された範囲内にあるかどうかを判断するために使用されます。構文は「SELECT * FROM」です。テーブル名 WHERE フィールド名 'time1' と 'time2' の間。
このチュートリアルの動作環境: 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 つの日付範囲内のデータをクエリします。
方法 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 >= '2019-07-25 00:00:33' AND create_time <= '2019-07-25 00:54:32'
方法 3 、変換 UNIX_TIMESTAMP 比較の場合、create_time にインデックスが付けられている場合、インデックスは使用されません
SELECT * FROM k_student WHERE UNIX_TIMESTAMP(create_time) between UNIX_TIMESTAMP('2019-07-25 00:00:33') and UNIX_TIMESTAMP('2019-07-25 00:54:33')
推奨学習: mysql ビデオ チュートリアル
以上がmysqlで日付範囲をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。