2012-09-28 54 views
1

我想獲取上個月的最後一個日期。在Netezza獲取上個月的最後一天

事情是這樣的:

FunctionName(10.02.2011) Result should be 31.01.2011 

oracle我們可以使用last_day()功能在這個問題question建議這樣做。 Netezza Database中是否有類似的功能?

+0

Netezza公司是基於Postgres的,所以這可能會幫助你。 。 。 http://stackoverflow.com/questions/8944721/how-do-i-determine-the-last-day-of-the-previous-month-using-postgresql。 –

+0

嘗試過,但沒有奏效。 :( – heretolearn

回答

0

我沒有Netezza公司提供,但下面可能的工作:

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

這減去從日期的月份的當前日期,然後多一天回去的最後一天上個月。當前日期

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

你也可以用做到這一點。

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 
4

last_day()存在於Netezza公司(不知道我們是哪個版本上)從(選擇(LAST_DAY(TO_CHAR(CURRENT_TIMESTAMP

select extract(day from last_day(to_date('20121001','YYYYMMDD') - interval '1 month')); 
DATE_PART 
----------- 
     30 
0

選擇提取物(天,'dd/mm/yyyy')))))

+1

有一點上下文會使這個更好的答案。 – Abizern

0

對於Netezza,它會使用add_month()和last_day()函數t o得到結果。 以'2013-01-01'爲例。

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

結果:2013-12-31

相關問題