SQL 根据今天的日期计算上一个星期一和上一个星期天的日期
在本文中,我们将介绍如何使用SQL语句根据今天的日期计算上一个星期一和上一个星期天的日期。
阅读更多:SQL 教程
计算上一个星期一的日期
要计算上一个星期一的日期,我们可以使用SQL的日期函数和条件语句来实现。下面是一个示例查询:
SELECT DATE_SUB(DATE(NOW()), INTERVAL (WEEKDAY(NOW()) + 7 - 1) % 7 DAY) AS PreviousMonday;
以上查询中,NOW()
函数返回当前日期和时间,WEEKDAY()
函数返回当前日期是一周中的第几天(0代表星期一,1代表星期二,依此类推),DATE_SUB()
函数用于减去相应的天数得到上一个星期一的日期。
计算上一个星期天的日期
要计算上一个星期天的日期,我们可以使用与计算上一个星期一的方法类似的方式。下面是一个示例查询:
SELECT DATE_SUB(DATE(NOW()), INTERVAL (WEEKDAY(NOW()) + 7 - 0) % 7 DAY) AS PreviousSunday;
以上查询中,我们将星期一的偏移值由1改为0,以便得到上一个星期天的日期。
示例
假设今天是2022年1月10日,我们将使用上述SQL语句来计算上一个星期一和上一个星期天的日期。以下是查询的结果:
PreviousMonday | PreviousSunday |
---|---|
2022-01-03 | 2022-01-09 |
根据今天的日期计算得到的上一个星期一是2022年1月3日,上一个星期天是2022年1月9日。
总结
通过使用SQL的日期函数和条件语句,我们可以根据今天的日期计算上一个星期一和上一个星期天的日期。这在许多情况下都很有用,例如需要生成周报或分析过去一周的数据。希望本文对你学习和使用SQL有所帮助!