14

如何从 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 选择查询来获取日期和时间。

请帮我。

4

3 回答 3

23

要从datea timestamp(or timestamptz) 中得到一个简单的演员是最快的:

SELECT now()::date

无论哪种方式,您都可以date根据当地时区获得。

如果您想要text某种格式,请使用to_char()@davek provided

如果要将 a 的值截断(向下舍入)为timestamp单位时间,请使用date_trunc()

SELECT date_trunc('minute', now());
于 2013-06-28T18:37:16.167 回答
22

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') ...
于 2013-06-28T10:55:25.827 回答
5

这应该足够了:

select now()::date, now()::time
    , pg_typeof(now()), pg_typeof(now()::date), pg_typeof(now()::time)
于 2016-06-09T13:46:53.213 回答