数据从 table 移动到 table ,列类型错误
Data move from table to table , column type error
我正在使用带有 timescaledb 扩展的 Postgresql,pg13 - tsdb 2.2.1
table 1
create table user
(
...
join_dt timestamptz NULL,
...
);
Table 2
create table a_user
(
...
join_dt timestamptz NULL,
...
);
我使用 SQL 插入到 a_user table 所以 table 中有数据,想通过查询将数据移动到用户 table这 :
insert into user
select * from a_user;
我收到这个错误:
[42804] ERROR: column "join_dt" is of type timestamp with time zone but expression is of type character varying
原始数据来自一个table是这样的
create table ori_user
(
...
join_dt timestamp(6) with time zone,
...
);
我将数据导出为 SQL 从 ori_user 插入表单,然后插入到 a_user,现在我想从 a_user 移动到用户。
这是我试过的:
insert into user select
...
join_dt::timestamptz,
...
from a_user;
无效。
with aa as (select pg_typeof(join_dt)::varchar as type,* from a_user)
select * from aa where aa.type not like 'timestamp with time zone';
没有显示行。
还有其他解决方案吗?请帮忙。
提前致谢。
我以为 table 列的顺序相同,但事实并非如此。
修改顺序,问题解决
我正在使用带有 timescaledb 扩展的 Postgresql,pg13 - tsdb 2.2.1
table 1
create table user
(
...
join_dt timestamptz NULL,
...
);
Table 2
create table a_user
(
...
join_dt timestamptz NULL,
...
);
我使用 SQL 插入到 a_user table 所以 table 中有数据,想通过查询将数据移动到用户 table这 :
insert into user
select * from a_user;
我收到这个错误:
[42804] ERROR: column "join_dt" is of type timestamp with time zone but expression is of type character varying
原始数据来自一个table是这样的
create table ori_user
(
...
join_dt timestamp(6) with time zone,
...
);
我将数据导出为 SQL 从 ori_user 插入表单,然后插入到 a_user,现在我想从 a_user 移动到用户。
这是我试过的:
insert into user select
...
join_dt::timestamptz,
...
from a_user;
无效。
with aa as (select pg_typeof(join_dt)::varchar as type,* from a_user)
select * from aa where aa.type not like 'timestamp with time zone';
没有显示行。
还有其他解决方案吗?请帮忙。 提前致谢。
我以为 table 列的顺序相同,但事实并非如此。
修改顺序,问题解决