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だ。