今天早上我遇到了以下问题:
select '2011-12-30 00:30:00'::timestamp without time zone AT TIME ZONE 'EST5EDT';
Run Code Online (Sandbox Code Playgroud)
回报我2011-12-30 05:30:00+00女巫是错的.
但下面的查询如下:
select '2011-12-30 00:30:00'::timestamp without time zone AT TIME ZONE 'UTC-5';
select '2011-12-30 00:30:00' AT TIME ZONE 'EST5EDT';
Run Code Online (Sandbox Code Playgroud)
我看到了正确的约会 2011-12-29 19:30:00
防止您对我当地时区的提问:
SELECT current_setting('TIMEZONE');
current_setting
-----------------
UTC
(1 row)
Run Code Online (Sandbox Code Playgroud)
有没有人回答为什么postgresql会转换timestamp without time zone一些奇怪的方式而不是带走5个小时呢?
在我的数据库中,我将特定表示法中的数字保存为varchar值.有没有办法用选定的表示法将这些值强制转换为小数?
我在这里看起来应该是这样的:
SELECT to_integer_with_notation('d', '20')
int4
---------
13
Run Code Online (Sandbox Code Playgroud)
还有一个例子:
SELECT to_integer_with_notation('d3', '23')
int4
---------
302
Run Code Online (Sandbox Code Playgroud)