【发布时间】:2020-09-14 15:43:17
【问题描述】:
我有函数从mysql中的当天获取星期几和星期几 它看起来像。
select
DATE_FORMAT(now(), '%U') as w,
DATE_FORMAT(now(), '%w') as day_of_w;
它返回 w 是 37,day_of_week 是 1。如何得到正确的值 w 是 37,day_of_week 是前一年的 1。
我用
select
DATE_FORMAT(now() interval 1 year, '%U') as w,
DATE_FORMAT(now() interval 1 year, '%w') as day_of_w;
但是 SQL 无法执行。
【问题讨论】:
-
你的 MySQL 版本是多少?我认为您需要一个日历表。
-
mysql 版本为 5.7。我在间隔之前错过了 +
-
"+ interval" 提前给你日期.. 如果你想要上一年,你需要使用 "- interval" .. 但是使用 "now() - interval 1 year" 只会让你与今天相同的日期只是不同的年份。不确定您是否会获得第 37 周和第 1 周的日期。这就是为什么我建议您使用日历表 - 或生成日历表。编辑:嗯,我认为 Thorsten 的答案就是你想要的。