对于"2012-07-12",我如何才能获得本周的开始,即"2012-07-08",以及本月的开始,即"2012-07-01"?
Bor*_*yll 18
每月的第一天:
SELECT DATE_FORMAT('2007-07-12', '%Y-%m-01');
Run Code Online (Sandbox Code Playgroud)
输出:2007-07-01
一周的第一天:
SELECT DATE_SUB('2007-07-12', INTERVAL DAYOFWEEK('2007-07-12')-1 DAY);
Run Code Online (Sandbox Code Playgroud)
输出:2007-07-08
MySQL参考:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
与Borophyll相同的答案,但我已经改变了月份第一天的行为来返回日期,而不仅仅是一个字符串,它避免了用户151220回答中提到的日期格式化/解析.
每月的第一天:
SELECT DATE_SUB('2007-07-12', INTERVAL DAYOFMONTH('2007-07-12') - 1 DAY);
Run Code Online (Sandbox Code Playgroud)
输出: 2007-07-01
一周的第一天:
SELECT DATE_SUB('2007-07-12', INTERVAL DAYOFWEEK('2007-07-12') - 1 DAY);
Run Code Online (Sandbox Code Playgroud)
输出: 2007-07-08
MySQL参考:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
| 归档时间: |
|
| 查看次数: |
14200 次 |
| 最近记录: |