netezza sql

时间:2015-12-15 22:13:22

标签: sql datetime netezza

在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。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

解决方案是使用当月的最后一天:

cast (months_between(last_day(31Aug15) , last_day(01SEP15)) as integer)

转换为:

cast (months_between(31Aug15 , 31SEP15) as integer)

结果为1