当我创建表时,创建了一个没有时区的时间戳列。所有导入的时间都在UTC
. 现在我想明确添加时区信息,并且我已经更改了该列
ALTER TABLE review ALTER COLUMN review_time TYPE TIMESTAMP WITH TIME ZONE USING review_time AT TIME ZONE 'UTC';
Run Code Online (Sandbox Code Playgroud)
选择现有数据不显示添加的时区信息
review_time
2017-07-28 02:25:44
2017-07-28 03:10:35
2017-07-28 03:11:32
2017-07-28 03:11:35
2017-07-28 03:11:38
2017-07-28 03:11:41
2017-07-28 18:54:54
Run Code Online (Sandbox Code Playgroud)
我是否需要UPDATE
对现有数据运行语句?如果需要,语法是什么?
缺少时区信息的输出是由于应用程序本身 (SQLWorkbenchJ) 造成的。查询 frompsql
将显示时区
mydb # SELECT review_time FROM review;
review_time
------------------------
2017-08-20 08:00:02+08
2017-07-27 00:45:33+08
2017-07-27 00:45:37+08
2017-07-28 02:24:03+08
2017-07-28 02:24:27+08
2017-07-28 02:24:31+08
2017-07-28 02:25:31+08
Run Code Online (Sandbox Code Playgroud)