PostgreSQL - 日時型(timestamp)から、年・月・日・時・分・秒を数値で取り出す

date_part()関数 を使用します。

date_part 関数の使い方

引数にtimestamp値と、文字列で取得したい項目を指定します。
SELECT date_part('year'            , timestamp'2000-01-23 04:05:06'); --結果 = 2000       (年)
SELECT date_part('month'           , timestamp'2000-01-23 04:05:06'); --結果 = 1          (月) 1 - 12
SELECT date_part('day'             , timestamp'2000-01-23 04:05:06'); --結果 = 23         (日) 1 - 31
SELECT date_part('hour'            , timestamp'2000-01-23 04:05:06'); --結果 = 4          (時) 0 - 23
SELECT date_part('minute'          , timestamp'2000-01-23 04:05:06'); --結果 = 5          (分) 0 - 59
SELECT date_part('second'          , timestamp'2000-01-23 04:05:06'); --結果 = 6          (秒) 0 - 59
SELECT date_part('milliseconds'    , timestamp'2000-01-23 04:05:06'); --結果 = 6000       (ミリ秒)
SELECT date_part('microseconds'    , timestamp'2000-01-23 04:05:06'); --結果 = 6000000    (マイクロ秒)

NULLを渡すと?

NULLを返します。
SELECT date_part('year', to_timestamp(null));          --結果 = NULL

検証環境

関連ページ