DATE_SUB 関数の例は次のとおりです。
今日と昨日のSQLクエリデータ、過去1ヶ月のSQLクエリデータ、過去3日間のSQLクエリデータ、 1週間のSQLクエリデータなど
(具体例は下記)
DATE_SUB() 函数
SQL では、DATE_SUB()
現在の日付から指定された時間間隔を減算する関数です。その構文は次のとおりです。
DATE_SUB(date, INTERVAL unit value)
ここでdate
、 は調整する日付、unit
は減算する時間間隔の単位 (「YEAR」、「MONTH」、「DAY」など)、 はvalue
減算する単位の量です。
たとえば、現在の日付から 1 か月を減算するには、次のステートメントを使用できます。
DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
例:
1. create_time に従って過去 1 か月のデータをクエリする SQL ステートメント:
SELECT * FROM my_table
WHERE create_time >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
ステートメント内の、my_table
はクエリ対象のテーブルの名前であり、 はcreate_time
作成日を格納するテーブル内の列の名前です。このステートメントは、DATE_SUB()
複数の関数を使用してCURDATE()
1 か月前の日付を計算し、それを create_time 列の値と比較して、一致するデータを取得します。
2. SQL ステートメント、create_time に従って今日と昨日をクエリします。
SELECT * FROM my_table
WHERE DATE(create_time) IN (CURDATE(), CURDATE() - INTERVAL 1 DAY);
CURDATE()
関数を使用して現在の日付を取得し、 を使用してCURDATE() - INTERVAL 1 DAY
昨日の日付を取得します。
3. SQL ステートメントでは、開始時刻と終了時刻に従って create_time クエリ データを判断します。
//1
SELECT * FROM my_table
WHERE create_time >= start_time AND create_time <= end_time;
//前端组件只到年月日的话用下方
//2 create_time 精确地2023-06-13 20:32:23,
// DATE('2023-06-13 20:32:23') 得到的是=> '2023-06-13'
SELECT * FROM my_table
WHERE DATE(create_time) >= DATE('2023-06-13') AND DATE(create_time) <= DATE('2023-06-14');