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 --獲取當前月的天數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM