嗨,因为标题说我的表中有一个名为healthtime的列,它的类型为timestamp,没有时区,即
Healthime
2012-02-02 08:15:00
我想把它分成同一个表中的两个新列,一个日期列和一个时间列,即。
Date Time
2012-02-02 08:15:00
请有人建议我如何做到这一点(最好是在一个查询中),
谢谢, 詹姆斯
答案 0 :(得分:6)
不是一个查询,而是一个事务......也应该没问题:
我的表格如下:
CREATE TABLE d (t timestamp);
更改表格的代码:
BEGIN;
ALTER TABLE d ADD COLUMN dat date;
ALTER TABLE d ADD COLUMN tim time;
UPDATE d
SET
dat = t::date,
tim = t::time;
ALTER TABLE d DROP COLUMN t;
COMMIT;
答案 1 :(得分:1)
SELECT Healthime::date from tbl_yourtable as date
SELECT Healthime::time(0) from tbl_yourtable as time
PostgreSQL版本:> = 10