日付は「YYYY-MM-DD」テキスト形式であるため、数値である必要がある年の部分を抽出する必要があります。私は新しい変数を作成できない他のアプリケーションで使用する必要があるため、この変換はシングルステップで実行する必要があります。
TO_DATE(t0.AESTDTC、 'YYYY-MM-DD')、 'YYYY-MM-DD'これで日付に変換できましたが、この日付から1ステップで年を抽出する必要がありますか?誰でも私を助けることができますか?
試してみる
select date_part('year', your_column) from your_table;
または
select extract(year from your_column) from your_table;
答えは
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
いずれかを選択します。:my_date
はyyyy-MM-dd
形式の文字列入力パラメーターです。
SELECT EXTRACT(YEAR FROM CAST(:my_date AS DATE));
または
SELECT DATE_PART('year', CAST(:my_date AS DATE));
入力パラメーターと競合する可能性があるため、::
よりもCAST
を使用する方が適切です。