雪花数超出可表示范围

Sam*_*l D 1 snowflake-cloud-data-platform

我正在尝试在列数据类型 number(10,6) 中插入一个数值,例如:-20833.33。关于“超出可表示范围的数字”,雪花中存在错误。我试图找到一个答案,为什么会在数字数据类型中发生这种情况,但我找不到任何合理的解释。

下面是案例的代表:

create table test (
   VALUE    number(10, 6)
);


INSERT test 
with TESTTABLE as (
    select '-20833.33' AS VALUE)
SELECT * FROM TESTTABLE
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:“数字超出可表示范围:类型 FIXEDSB8{nullable},value -20833.33

有人会知道为什么会发生这种情况并有一些参考资料可以解释这个错误吗?

Gok*_*til 5

您需要将精度提高到 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;
Run Code Online (Sandbox Code Playgroud)

https://docs.snowflake.com/en/sql-reference/data-types-numeric.html#number