取日期所在季度时,大多使用case when 。大家都知道一个季度都是以3个月份为一个体的。可以先算出本日是第几季度,然后再乘以3就是季度初啊。
因为3月份除以3就等于1了.必须除一个比3大的数,而且月份的数字只会到12.不用担心除以3.1会出什么乱子。
下面是计算第几季度的sql
select floor(substr(‘2017-02-04‘,6,2)/3.1)+1
出来了第几季度之后就简单了。直接*3呗 就是季度的初始日期了。
select (floor(substr(‘2017-02-04‘,6,2)/3.1)*3)+1
SQL也适用于hive