从 Oracle 到 Teradata 的数字类型

Number Type from Oracle to Teradata

提问人:mozas 提问时间:7/12/2019 更新时间:7/12/2019 访问量:184

问:

我需要在 Teradata 中复制一些 Oracle 表。 我有一个脚本可以为 Teradata 的表创建 sql,到目前为止一切正常,但我有一个小问题。

我在表“all_tab_columns”中查找列类型的信息,但我发现某些 NUMBER 列的 data_precision 和 data_scale为 NULL。因此,我无法在 Teradata 中复制它们,因为 NUMBER 类型要求精度和小数位数都大于 0。

有没有人用过这个,或者可以给我一个想法?

谢谢!

SQL Oracle 数字 Teradata 精度

评论


答:

2赞 dnoeth 7/12/2019 #1

您也可以在 Teradata 中定义 或。 只需尝试一下。numbernumber(*)

评论

0赞 Gordon Linoff 7/12/2019
..我没有意识到 Teradata 和 Oracle 中数字的最大精度是 38。
0赞 dnoeth 7/12/2019
@GordonLinoff:Teradata的NUMBER模仿了Oracle的NUMBER,从Oracle移植的项目太多了:-)
0赞 mozas 7/12/2019
@dnoeth 但是这样,在 teradata 中使用 NUMBER(*),如果我有一个 NUMBER 类型的列,其中包含 Years 信息,例如,在 Oracle 中,我有 2010,在 Teradata 中,我将有 2010.00。而且不一样......
0赞 Gordon Linoff 7/12/2019
@dnoeth . . .我希望BigQuery也有同样的态度;)这就是我面临这个问题的地方。并且必须将列作为字符串而不是数字引入。
0赞 dnoeth 7/12/2019
@mozas: vs. 只是一个显示问题,即客户端设置,Teradata 在转换为字符串时会显示后者。2010.002010