如何在PostgreSQL的select查询中从时间戳获取日期和时间?

15
如何从 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)

如何使用PostgreSQL选择查询从带有时区时间戳字段(例如update_time)获取日期和时间?

请帮我。


1
嗯... SELECT fieldname FROM table。请提供更多细节,因为这样写并不太有意义。您使用的是哪个PostgreSQL版本?您使用的是访问PostgreSQL的客户端程序/驱动程序吗?能否提供显示您遇到问题的代码? - Craig Ringer
尝试使用以下一些函数:http://www.postgresql.org/docs/9.1/static/functions-datetime.html - davek
3个回答

23

23
从时间戳(或timestamptz)获取日期,最快的方法是进行简单的转换: cast
SELECT now()::date

无论如何,您都会根据本地时区获得日期

如果您想以特定格式获取文本,请使用to_char(),如@davek提供的

如果您想将时间戳的值截断(向下舍入)为时间单位,请使用date_trunc()

SELECT date_trunc('minute', now());

5
这应该足够了:
select now()::date, now()::time
    , pg_typeof(now()), pg_typeof(now()::date), pg_typeof(now()::time)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接