PostgreSQLのタイムスタンプから、秒ではなく分までの日付と時刻を取得する方法。日付と時刻が必要です。
例えば:
2000-12-16 12:21:13-05
これから私は必要です
2000-12-16 12:21 (no seconds and milliseconds only date and time in hours and minutes)
タイムゾーンフィールドを持つタイムスタンプから、update_time
、PostgreSQLの選択クエリを使用して、上記のように日付と時刻を取得するにはどうすればよいですか。
私を助けてください。
Postgresqlで利用できる日時関数はたくさんあります。
こちらのリストをご覧ください
http://www.postgresql.org/docs/9.1/static/functions-datetime.html
例えば.
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 16
書式設定には、次を使用できます。
http://www.postgresql.org/docs/9.1/static/functions-formatting.html
例えば.
select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI') ...
date
(またはtimestamp
)からtimestamptz
を取得するには、単純なcastが最速です。
_SELECT now()::date
_
ローカルタイムゾーンに従って、date
を取得します。
特定の形式のtext
が必要な場合は、 to_char()
のように @ davek提供 のようにします。
timestamp
の値を単位時間に切り捨てる(切り捨てる)場合は、 date_trunc()
を使用します。
_SELECT date_trunc('minute', now());
_
これで十分です:
select now()::date, now()::time
, pg_typeof(now()), pg_typeof(now()::date), pg_typeof(now()::time)