【发布时间】:2023-03-30 21:29:01
【问题描述】:
我有一个包含 ~1000 列的表,我试图将其插入到一个空表中。除标识符外,所有列都是数字。
我写了一个类似这样的创建表语句:
create table xx as (
id varchar(10),
a numeric(9,4),
b numeric(9,4),
c numeric(5,4),
d numeric(5,4)
)
然后像这样插入
insert into xx select * from yy
我收到一个错误:类似于“错误:XX000:数值数据溢出(结果精度)”。我想我需要提高其中一列的精度——但是哪一列呢?我怎么知道?如果有帮助,我正在使用 Aginity。
我的列太多,无法一一测试。空间也很重要,所以我不愿意增加所有列的精度。
【问题讨论】:
-
您使用的是复制命令吗?如果是这样,则将所有列(临时)更改为 varchar 然后运行一些 sql 来检查您的数据错误在哪里。如果可能的话,我建议你重新考虑你的桌子设计。
标签: sql amazon-redshift