DATE_SUB()
函數是 SQL 中用于從指定日期減去一定時間間隔的函數。它的基本語法如下:
DATE_SUB(date, INTERVAL expr unit)
其中,date
是要操作的日期,expr
是時間間隔的數值,unit
是時間間隔的單位,例如 DAY
, MONTH
, YEAR
等。
以下是一些使用 DATE_SUB()
函數的實際應用示例:
查詢過去 30 天內的訂單
假設有一個名為 orders
的表,包含訂單信息和訂單日期(order_date
),要查詢過去 30 天內的訂單,可以使用以下 SQL 語句:
SELECT * FROM orders WHERE order_date >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY);
統計每月的注冊用戶數量
假設有一個名為 users
的表,包含用戶信息和注冊日期(registration_date
),要統計每月的注冊用戶數量,可以使用以下 SQL 語句:
SELECT
YEAR(registration_date) AS year,
MONTH(registration_date) AS month,
COUNT(*) AS user_count
FROM users
WHERE registration_date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)
GROUP BY YEAR(registration_date), MONTH(registration_date)
ORDER BY year, month;
查詢上個月的銷售額
假設有一個名為 sales
的表,包含銷售信息、銷售日期(sale_date
)和銷售額(amount
),要查詢上個月的銷售額,可以使用以下 SQL 語句:
SELECT SUM(amount) AS total_sales
FROM sales
WHERE sale_date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH)
AND sale_date< DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH - INTERVAL 1 DAY);
這些示例展示了如何在 SQL 查詢中使用 DATE_SUB()
函數來處理日期和時間數據。根據實際需求,可以靈活地調整查詢條件和時間間隔。