プログラマーな日々

Developer and Cloud Architect. I Don't belong to any company now. AWS Certified SAA/SOA/DVA BigData ETL (Redshift, Data Pipeline, Lambda)/C#/bash/PowerShell

【PostgreSQL】経過日数を取得する

PostgreSQLはDATEDIFFをサポートしていないので、調べました。

テストデータ作成

CREATE TEMP TABLE test AS SELECT TIMESTAMP '2019-01-08 10:00:00' AS created_at;

検証

TIMESTAMP型で引き算すると、INTERVAL型で結果を取得できます。

SELECT CURRENT_TIMESTAMP - created_at AS elapsed FROM test;
30 days 20:52:11.601642

INTERVAL型から日数を取り出すには、EXTRACTを使います。

SELECT EXTRACT(DAY FROM (CURRENT_TIMESTAMP - created_at)) AS elapsed FROM test
30