不幸的是,oracle中定义为
所以我有一个将数据从Oracle迁移到Snowflake的管道。Oracle中有一列的数据类型为NUMBER
,我在Snowflake中使用了NUMBER(38, 18)
我的管道昨天开始失败,因为Oracle中的列现在有21位数字,NUMBER(38, 18)
无法在Snowflake中处理这些数字。我换成了NUMBER(38, 17)
,它现在起作用了。
Snowflake中是否有等效的NUMBER
,以便它可以处理来自Oracle的任何值?我无法更改Oracle表的数据类型。
NUMBER
的列(没有小数位数或精度(在Snowflake中没有等效列。它是一种可变长度的十进制格式,与浮点格式不同。
如果你不能100%确定规模/精度应该是多少,你可以尝试在Snowflake中使用FLOAT
,但这可能会导致大聚合的舍入误差,所以你需要弄清楚这是否值得。