PostgreSQLにおいて、TIMESTAMP型のフィールドにデフォルト値としてnow()を設定していると、データのINSERT時に以下のようにマイクロ秒が小数点以下として入ってくる。

2021-09-29 09:47:03.875012

SELECT文などでデータを抽出して扱う際に、この小数点以下の値が邪魔になることが多いので、今回は小数点以下の値を丸める方法を紹介する。

キャストして小数点以下を丸める

TIMESTAMP型として注文日を保存したorder_date列を例にする。

SELECT order_date::TIMESTAMP(0) … のように型変換することで小数点以下の値を四捨五入してくれる。

型変換の記法については、SELECT CAST(order_date AS TIMESTAMP(0)) … でもOKだ。