gpt4 book ai didi

php - MySQL 查询当前周的 yearweek 星期四开始,星期三结束

转载 作者:行者123 更新时间:2023-11-30 23:54:24 25 4
gpt4 key购买 nike

我设置了一个 SQL 语句来从当前日历周获取数据。默认情况下,这会抓取从周日开始到周六结束的数据。我希望改变这一点,以便日历周的开始是星期四,星期三结束。以下是我的陈述:

SELECT * 
FROM transactions
WHERE yearweek(transactionDate) = yearweek(now())
ORDER BY transactionDate DESC

有没有办法修改年周以允许这样做?

谢谢!

最佳答案

您可以利用 WEEKDAY()它返回一个代表星期几的数字(0 = 星期一,6 = 星期日)和一些简单的数学来重写这个查询。

从所选日期减去您希望一周开始的工作日(在您的情况下为 4 = 星期四),加上 7 并从 7 中取余数。这将为您提供要减去的天数以开始你的范围。

类似的逻辑适用于计算范围的结束日期。

SELECT * 
FROM transactions
WHERE DATE(transactionDate)
BETWEEN DATE_SUB(DATE(NOW()), INTERVAL (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
AND DATE_ADD(DATE(NOW()), INTERVAL 6 - (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
ORDER BY transactionDate DESC;

对于不同的开始日期,将查询中的 4 替换为工作日。

关于php - MySQL 查询当前周的 yearweek 星期四开始,星期三结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com