我尝试在列数据类型number(10,6)中插入一个数值,例如:-20833.33。snowflake中有一个关于“数字超出可表示范围”的错误。我试图找到numeric data types中为什么会发生这种情况的答案,但我找不到任何合理的解释。
下面是案例的表示形式:
create table test (
VALUE number(10, 6)
);
INSERT test
with TESTTABLE as (
select '-20833.33' AS VALUE)
SELECT * FROM TESTTABLE我收到以下错误:“数字超出可表示范围:类型为FIXEDSB8{nullable},值为-20833.33
会有人知道为什么会发生这种情况,并有一些参考资料来解释这个错误吗?
发布于 2020-10-05 21:35:02
您需要将精度提高到NUMBER(11,6),以便它可以存储小数点之前的5位和小数点之后的6位。11是总位数:
create or replace table test (
VALUE number(11, 6)
);
INSERT INTO test
with TESTTABLE as (
select '-20833.33' AS VALUE)
SELECT * FROM TESTTABLE;https://docs.snowflake.com/en/sql-reference/data-types-numeric.html#number
https://stackoverflow.com/questions/64209562
复制相似问题