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()
函数来处理日期和时间数据。根据实际需求,可以灵活地调整查询条件和时间间隔。