前月の最終日を取得したい。
このようなもの:
FunctionName(10.02.2011) Result should be 31.01.2011
この質問questionで提案されているようにoracle
、関数を使用してそれを行うことができます。で同じことを行う同様の機能はありますか。last_day()
Netezza Database
last_day()
Netezza に存在します (どのバージョンを使用しているかは不明)
select extract(day from last_day(to_date('20121001','YYYYMMDD') - interval '1 month' ));
DATE_PART
-----------
30
select extract(day from (select (last_day(to_char(current_timestamp,'dd/mm/yyyy')))))) を選択します。
ゴードンの答えと同様に、これを 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
これにより、その月の現在の日が日付から減算され、さらに 1 日が前の月の最終日に戻されます。
これは、次の方法でも実行できます。
select date(current_Date) - datepart('day', current_Date) - 1
現在の日付。
Netezza の場合、add_month() および last_day() 関数を使用して結果を取得します。たとえば、「2013-01-01」とします。
select last_day(add_month('2013-01-01',-1));
結果: 2013-12-31