工作中遇到获取当前季度的第一天,如下所示
SELECT CASE WHEN QUARTER(GETDATE()) = 1 THEN DATETRUNC(GETDATE(),'yyyy')
WHEN QUARTER(GETDATE()) = 2 THEN DATEADD(DATETRUNC(GETDATE(),'yyyy'),3,'mm')
WHEN QUARTER(GETDATE()) = 3 THEN DATEADD(DATETRUNC(GETDATE(),'yyyy'),6,'mm')
ELSE DATEADD(DATETRUNC(GETDATE(),'yyyy'),9,'mm')
END AS 当前季度的第一天;
补充:
QUARTER() 返回一个日期的季度,范围是1~4。此函数为MaxCompute 2.0扩展函数。
DATETRUNC() 返回将日期date按照datepart指定的时间单位进行截取后的日期值。
运行效果如下: