Oracle SQL 查询:获取上周日和本周六或上上周日和上周六
根据您的需求,可以使用以下 SQL 查询来实现:
SELECT
CASE
WHEN DAYOFWEEK(NOW()) <= 3 THEN DATE_SUB(NOW(), INTERVAL DAYOFWEEK(NOW()) + 10 DAY)
ELSE DATE_SUB(NOW(), INTERVAL DAYOFWEEK(NOW()) - 4 DAY)
END AS previous_sunday,
CASE
WHEN DAYOFWEEK(NOW()) <= 3 THEN DATE_SUB(NOW(), INTERVAL DAYOFWEEK(NOW()) + 4 DAY)
ELSE NOW()
END AS current_saturday;
这个查询使用了 CASE 语句来根据当前日期的星期几来判断返回的结果。如果当前日期为周一到周三(星期一到星期三),则返回上上周日和上周六的日期;如果当前日期为周四到周日(星期四到星期日),则返回上周日和本周六的日期。
注意:这个查询中使用了 MySQL 特定的函数 DAYOFWEEK() 和 DATE_SUB(),请确保您的数据库支持这些函数。如果您使用的是其他数据库,请根据相应的函数进行修改。
原文地址: https://www.cveoy.top/t/topic/p6zM 著作权归作者所有。请勿转载和采集!