我想知道上个月的最后日期。
这样的事情:
FunctionName(10.02.2011) Result should be 31.01.2011
在oracle
中,我们可以使用此question中建议的last_day()
函数来完成此操作。是否有类似的功能在Netezza Database
中执行相同的操作。
答案 0 :(得分:4)
last_day()
(不知道我们在哪个版本)
select extract(day from last_day(to_date('20121001','YYYYMMDD') - interval '1 month' ));
DATE_PART
-----------
30
答案 1 :(得分:0)
我没有Netezza可用,但以下内容可能有效:
select <date> - datepart('day', <date>) - 1
从该日期减去当月的当天,然后再过一天,再回到上个月的最后一天。
你也可以这样做:
select date(current_Date) - datepart('day', current_Date) - 1
当前日期。
答案 2 :(得分:0)
与戈登的答案类似,我在新西兰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
答案 3 :(得分:0)
选择摘录(日期从(选择(last_day(to_char(current_timestamp,'dd / mm / yyyy')))))
答案 4 :(得分:0)
对于Netezza,它将使用add_month()和last_day()函数来获取结果。 以'2013-01-01'为例。
select last_day(add_month('2013-01-01',-1));
结果: 2013-12-31