获取 Postgres 当前当地时间的最简洁方法是什么?

2024-04-29

有没有更简洁的方法在 Postgres 中编写以下内容:

DATE(NOW() AT TIME ZONE time_zone)

即获取带有时区的记录的当地时间time_zone?

理想情况下我想做这样的事情:

NOW(time_zone)

这不起作用,但是我可以使用类似且干净的东西吗?


=> SELECT DATE(NOW() AT TIME ZONE 'UTC');
2013-11-19

=> SELECT DATE(NOW() AT TIME ZONE 'PST');
2013-11-18

UPDATE:

如果您想将此查询抽象为自定义功能 http://www.postgresql.org/docs/8.0/static/xfunc-sql.html,您可以按如下方式创建一个:

=> CREATE FUNCTION date_with_time_zone() RETURNS date AS '
     SELECT DATE(NOW() AT TIME ZONE ''PST'');
     ' LANGUAGE SQL;
CREATE FUNCTION

=> SELECT date_with_time_zone();
2013-11-18

虽然您仍然需要发出SELECT命令,只需调用该函数即可返回带时区的当前日期,而不是整个查询。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Postgres 当前当地时间的最简洁方法是什么? 的相关文章

随机推荐