在Netezza中,我们有一个month_between函数,它给出了两个日期之间的月份: 我怀疑,它首先计算日期之间的天数然后除以30?
有没有办法在netezza中编写sql,这样我得到这样的整数值: 如果2个日期在同一个月,则返回0。 否则返回#月。即31Aug15和01SEP15应该返回1,因为它们处于不同的月份。
如果我将moon_between的o / p转换为整数,不幸的是,我受到ROUNDING的支配。
所以cast (months_between(31Aug15 , 01SEP15) as integer)
将返回0,而不是1。
如何实现这一目标?
答案 0 :(得分:1)
解决方案是使用当月的最后一天:
cast (months_between(last_day(31Aug15) , last_day(01SEP15)) as integer)
转换为:
cast (months_between(31Aug15 , 31SEP15) as integer)
结果为1