[PostgreSQL]日付関数の罠

PostgreSQLには、current_timestamp や now() という日付時刻取得用の関数があります。


が、実はこれはトランザクション開始時の時刻を取ってくるので要注意。知らずに使うと随分とハマります。


いかにも現在時刻を取ってきてくれそうな名前なのに…
トランザクションを終了(commit/rollback)するまではいつまでも同じ時刻を返し続けます…


Oracleのsysdateの様に現在時刻を取得するには clock_timestamp() などを使用します。

よく見ればマニュアルに明記してあるんですけどね。

http://www.sraoss.co.jp/PostgreSQL/Manual/document/current/html/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

posted by へっぽ at 01:43 | TrackBack(0) | DB - Postgres | このブログの読者になる | 更新情報をチェックする

この記事へのトラックバック

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。