Postgres表格列的ALTER DATATYPE

时间:2018-01-08 08:24:34

标签: sql postgresql

我刚开始研究Postgres数据库并创建了几个表。为方便起见,我使用了字符变化(50),但现在我想将其更改为Date(dd / mm / yyyy)格式。

我尝试使用此命令

ALTER TABLE ip_role ALTER COLUMN event_dt TYPE date USING(event_dt::date);

也是这个 -

ALTER TABLE ip_role ALTER COLUMN event_dt TYPE DATE using to_date(event_dt, 'DD/MM/YYYY');

但没有收到错误 -

invalid input syntax for type date: "event_dt"

1 个答案:

答案 0 :(得分:0)

更改(更改日期样式以正确阅读日期):

t=# create table d2(t text);
CREATE TABLE
t=# insert into d2 select '2017-05-08';
INSERT 0 1
t=# set datestyle to YMD, ISO;
SET
t=# alter table d2 alter column t type date using t::date;
ALTER TABLE

您没有以某种日期格式保留日期:

t=# select * from d2;
     t
------------
 2017-05-08
(1 row)

,因此要查看所需的格式,请使用:

t=# set datestyle to DMY, SQL;
SET
t=# select * from d2;
     t
------------
 08/05/2017
(1 row)