1

我想得到上个月的最后一天。

像这样的东西:

FunctionName(10.02.2011) Result should be 31.01.2011

我们oracle可以使用这个问题questionlast_day()中建议的函数来做到这一点。是否有类似的功能可以在.Netezza Database

4

5 回答 5

4

last_day()存在于 Netezza 中(不确定我们使用的是哪个版本)

select extract(day from last_day(to_date('20121001','YYYYMMDD') - interval '1 month' ));
 DATE_PART 
-----------
        30
于 2012-11-20T18:53:12.990 回答
0

对于 Netezza,它将使用 add_month() 和 last_day() 函数来获取结果。以“2013-01-01”为例。

select last_day(add_month('2013-01-01',-1));

结果:2013-12-31

于 2013-10-29T03:52:40.627 回答
0

选择提取(天(选择(last_day(to_char(current_timestamp,'dd/mm/yyyy')))))

于 2012-12-06T12:12:21.963 回答
0

与 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
于 2012-10-05T17:32:49.570 回答
0

我没有可用的 Netezza,但以下方法可能有效:

select <date> - datepart('day', <date>) - 1

这会从日期中减去该月的当前日期,然后再减去一天以返回上个月的最后一天。

你也可以这样做:

select date(current_Date) - datepart('day', current_Date) - 1

当前日期。

于 2012-09-29T14:15:14.940 回答