我想得到上个月的最后一天。
像这样的东西:
FunctionName(10.02.2011) Result should be 31.01.2011
我们oracle
可以使用这个问题questionlast_day()
中建议的函数来做到这一点。是否有类似的功能可以在.Netezza Database
last_day()
存在于 Netezza 中(不确定我们使用的是哪个版本)
select extract(day from last_day(to_date('20121001','YYYYMMDD') - interval '1 month' ));
DATE_PART
-----------
30
对于 Netezza,它将使用 add_month() 和 last_day() 函数来获取结果。以“2013-01-01”为例。
select last_day(add_month('2013-01-01',-1));
结果:2013-12-31
选择提取(天(选择(last_day(to_char(current_timestamp,'dd/mm/yyyy')))))
与 Gordon 的回答类似,我在 NZ 6 上对此进行了测试,它可以通过从当前日期中减去当前日期 # 来获得上个月的最后一天。您可以替换current_timestamp
为您的日期字段。
select current_timestamp, current_timestamp - extract(day from current_timestamp)
结果:
2012-10-05 13:35:05 2012-09-30 00:00:00
我没有可用的 Netezza,但以下方法可能有效:
select <date> - datepart('day', <date>) - 1
这会从日期中减去该月的当前日期,然后再减去一天以返回上个月的最后一天。
你也可以这样做:
select date(current_Date) - datepart('day', current_Date) - 1
当前日期。