SELECT
date_sub( date_sub( date_format( now(), '%y-%m-%d' ), INTERVAL extract( DAY FROM now()) DAY ), INTERVAL 0 MONTH ) AS date
1 某一天的所在月的第一天:
select date_add(date_add(last_day('2008-02-01'),interval 1 day),interval -1 month)
某一天的所在月的最后一天:
select last_day('2008-02-01')
2 加在语句中:
select ... where dt between date_add(date_add(last_day('2012-02-01'),interval 1 day),interval -1 month) and last_day('2012-02-01')
以下表达式可获取下个月的第一天日期:
DATE_FORMAT(ADDDATE(CURDATE(),INTERVAL '1' MONTH),'%Y-%m-01')
这个日期再减去1天就是月底日期。
下面举例获取今天(2017-01-24)到月底的天数:
select DATEDIFF(
DATE_FORMAT(ADDDATE(CURDATE(),INTERVAL '1' MONTH),'%Y-%m-01'),CURDATE())-1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)