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

相关文章
相关标签/搜索