mysql 之 获取指定月份天数和指定月份上月天数

1.语法

DAY(LAST_DAY(CONCAT(nc_date,'01')))AS cm_day_cnt, -- 当月天数
DAY(LAST_DAY(DATE_SUB((CONCAT(nc_date,'01')),INTERVAL 1 MONTH))) -- 上月天数

2.解析

我的nc_date 是 202004,因此要使用concat 连接01 ,形成完整的日期

 LAST_DAY()函数,获取月份的最后一天

 最后需要将 30取出来 ,运用到 day()函数

 求上月天数,使用 DATE_SUB 函数,将月份减一,重复以上操作即可。

3.求当前月天数

select curdate();                       --获取当前日期
select DATE_ADD(curdate(),interval -day(curdate())+1 day)   --获取本月第一天
select date_add(curdate()-day(curdate())+1,interval 1 month ) -- 获取下个月的第一天
select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual --获取当前月的天数

原文地址:https://www.cnblogs.com/dw-date/p/13517432.html