百度出来的sql是:
SELECT time FROM atkg WHERE YEARWEEK(date_format(time,'%Y-%m-%d')) = YEARWEEK(now())-1
可是mysql查出来的是周日到周六的时间,我想要周一到周日的时间啊,sql怎么写,求教
百度出来的sql是:
SELECT time FROM atkg WHERE YEARWEEK(date_format(time,'%Y-%m-%d')) = YEARWEEK(now())-1
可是mysql查出来的是周日到周六的时间,我想要周一到周日的时间啊,sql怎么写,求教
从周一开始计算
SELECT time FROM atkg WHERE YEARWEEK(date_format(time,'%Y-%m-%d')) = YEARWEEK(now() - INTERVAL 1 DAY);
楼主应该的问的是YEARWEEK函数问题,YEARWEEK函数用法:
SELECT YEARWEEK('2017-03-27',1) //从周一开始计算一周
其中第二个参数是 mode ,具体指的意思如下:
MySQL 的 YEARWEEK 是获取年份和周数的一个函数,函数形式为 YEARWEEK(date[,mode])
Mode First day of week Range Week 1 is the first week …
0 Sunday 0-53 with a Sunday in this year
1 Monday 0-53 with more than 3 days this year
2 Sunday 1-53 with a Sunday in this year
3 Monday 1-53 with more than 3 days this year
4 Sunday 0-53 with more than 3 days this year
5 Monday 0-53 with a Monday in this year
6 Sunday 1-53 with more than 3 days this year
7 Monday 1-53 with a Monday in this year
按楼主你的写法:SELECT time FROM atkg WHERE YEARWEEK(date_format(time,'%Y-%m-%d'),1) = YEARWEEK(now(),1)-1
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
给yearweek带个参数1就行