稚拙な備忘録ですが

へなちょこプログラマやっています。皆さんみたいなしっかりした備忘録は書けませんが宜しくお願いします。

PostgreSQLでMySQLでいうところの「sysdate()」

PostgreSQL、その時点の日時を取得の方法。

MySQLでいうところの「sysdate()」は無いかと調査したところ

 ①now()

 ②current_timestamp

を使って取得できることが分かりました。2つとも同じ結果が返ってきます。

         <ex> select current_timestamp

 

しかも便利なことに、後ろに「+ '1 week'」とすると一週間後の日時が取得できます。

         <ex> select current_timestamp + '1 week'

試したパターンは以下の通り

・'1 day'

・'1 week'

・'1 month'

・'1 year'

・'1 hour'

・'1 minute'

・'1 second'

もちろん「+」を「ー」にすると減算します。

 

日付関数を少し調べましたが、面白いですね。

age()関数とかはMSSQLとかには無かったと思います。

私の生年月日で試すと

 

select age(current_timestamp, '1978-07-31');

 

==========================================

age

------------------------------------------

35 years 5 mons 17 days 09:44:44.570494

==========================================

 

と結果が返ってきます。

面白い!年齢とか所属・勤続年数とかに使えそうですね。