阅读量:0
SQL 的 DATEDIFF()
函数用于计算两个日期之间的差值
以下是一些使用 DATEDIFF()
函数的查询示例和技巧:
- 计算两个日期之间的天数差:
SELECT DATEDIFF(day, '2021-01-01', '2021-01-31') AS days_difference;
- 查询过去 30 天内注册的用户:
SELECT * FROM users WHERE DATEDIFF(day, registration_date, GETDATE()) <= 30;
- 按照入职年限对员工进行分组:
SELECT DATEDIFF(year, hire_date, GETDATE()) AS years_of_experience, COUNT(*) AS num_employees FROM employees GROUP BY DATEDIFF(year, hire_date, GETDATE());
- 查询生日在下个月的用户:
SELECT * FROM users WHERE MONTH(birthdate) = MONTH(DATEADD(month, 1, GETDATE())) AND DAY(birthdate) = DAY(DATEADD(month, 1, GETDATE()));
- 查询与特定日期相隔一定天数的记录:
SELECT * FROM orders WHERE DATEDIFF(day, order_date, '2021-01-01') % 7 = 0;
这些示例展示了如何在 SQL 查询中使用 DATEDIFF()
函数。根据实际需求,可以调整日期字段、时间单位和比较条件来满足不同场景的查询需求。