PostgreSQL: 現在の年・月・日・時・分・秒を取得する方法


PostgreSQL で現在の年・月・日・時・分・秒を取得する方法です。 (ここで紹介しているほかにも取得方法はあると思います。)

環境

  • PostgreSQL 9.5

年・月・日・時・分・秒を文字列で取得

年・月・日・時・分・秒を文字列で取得するには、 to_charcurrent_timestamp, current_date, current_time を組み合わせて使います。 ここでは current_timestamp を使った例のみ掲載します。

表示フォーマットは PostgreSQL のドキュメントにありますが、 使えるパターンはかなり多いです。

to_charto_number を組み合わせれば、 年・月・日・時・分・秒をそれぞれ数値で取得することも可能です。
一方で、 PostgreSQL には それらを数値で取得する関数も用意されていますのでそちらも紹介します。

年・月・日を数値で取得

current_date または current_timestampdate_part を使います。 date_part が返す年,月,日の数値型です。

時・分・秒を数値で取得

current_time または current_timestampdate_part を使います。 date_part が返す時,分,秒の数値型です。