sql 語句系列(計算一個季度的開始日期和結束日期)[八百章之第二十三章]

前言

不少時候,咱們進行數據庫查詢的時候,查詢一個季度的財務報表的時候。
好比說查詢2020年第一季度的單子,可能傳入後臺的就是20201,表示的就是20201第一季度,這時候咱們要轉換爲日期。mysql

select * from quarters

mysql

SELECT DATE_ADD(ADDDATE(q_end,-DAY(q_end)+1),INTERVAL -2 MONTH) q_start,q_end
from(
select LAST_DAY(STR_TO_DATE(CONCAT(SUBSTR(args,1,4),MOD(args,10)*3),'%Y%m')) q_end
from quarters
) x

sql server

select DATEADD(m,-2,q_end) q_start,
       DATEADD(d,-1,DATEADD(m,1,q_end))q_ebd
from(
select cast(SUBSTRING(cast(args as varchar),1,4)+'-'+CAST(args%10*3 as varchar)+'-1' as datetime) q_end
from quarters
) x

效果:sql

相關文章
相關標籤/搜索