web-dev-qa-db-ja.com

POSTGRESQLでDATEから年を抽出する方法

日付は「YYYY-MM-DD」テキスト形式であるため、数値である必要がある年の部分を抽出する必要があります。私は新しい変数を作成できない他のアプリケーションで使用する必要があるため、この変換はシングルステップで実行する必要があります。

TO_DATE(t0.AESTDTC、 'YYYY-MM-DD')、 'YYYY-MM-DD'これで日付に変換できましたが、この日付から1ステップで年を抽出する必要がありますか?誰でも私を助けることができますか?

40
Karthi

試してみる

select date_part('year', your_column) from your_table;

または

select extract(year from your_column) from your_table;
66
flaviodesousa

答えは

select date_part('year', timestamp '2001-02-16 20:38:40') as year,
       date_part('month', timestamp '2001-02-16 20:38:40') as month,
       date_part('day', timestamp '2001-02-16 20:38:40') as day,
       date_part('hour', timestamp '2001-02-16 20:38:40') as hour,
       date_part('minute', timestamp '2001-02-16 20:38:40') as minute
5
Hasan BINBOGA

いずれかを選択します。:my_dateyyyy-MM-dd形式の文字列入力パラメーターです。

SELECT EXTRACT(YEAR FROM CAST(:my_date AS DATE));

または

SELECT DATE_PART('year', CAST(:my_date AS DATE));

入力パラメーターと競合する可能性があるため、::よりもCASTを使用する方が適切です。

3
Zon