PostgreSQL では
SELECT CURRENT_TIMESTAMP
SELECT now()
などとすると、
2006-08-02 22:14:42.642554
のように、小数点以下の秒数まで表示してくれます。
これはこれでいいのですが、小数点秒を扱う必要のないケースもあります。
その場合は、timestamp(0) 型として扱うことで小数点以下を四捨五入します。
SELECT CAST(CURRENT_TIMESTAMP AS timestamp(0))
のようにすると、先程の結果は次のようになります。
2006-08-02 22:14:43
テーブルの場合も、
CREATE TABLE foo (
created_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
から
CREATE TABLE foo (
created_on timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP
);
のようにすることで、整数秒として保存するようになります。