【问题标题】:Months between 2 dates in netezza sqlnetezza sql中2个日期之间的月份
【发布时间】:2015-12-15 22:13:21
【问题描述】:

在 Netezza 中,我们有一个months_between 函数,它给出两个日期之间的月份: 我怀疑,它首先计算日期之间的天数,然后除以 30?

有没有办法在 netezza 中编写 sql 以便我得到这样的整数值: 如果 2 个日期在同一月份,则返回 0。 否则返回月数。即 31Aug15 和 01SEP15 应该返回 1,因为它们位于不同的月份。

如果我将months_between 的o/p 转换为一个整数,不幸的是,我会受到ROUNDING 的支配。

所以cast (months_between(31Aug15 , 01SEP15) as integer) 将返回 0,而不是 1。

如何做到这一点?

【问题讨论】:

  • Netezza 对我来说是新手!你能把你的作品贴在这里吗,也许我可以帮忙纠正一下。

标签: sql datetime netezza


【解决方案1】:

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

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

翻译为:

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

结果为 1

【讨论】:

  • 我来过这里一个月不止一次了,所以我希望我能给这个超过一个赞
猜你喜欢
  • 1970-01-01
  • 2019-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多