提问人:mozas 提问时间:7/12/2019 更新时间:7/12/2019 访问量:184
从 Oracle 到 Teradata 的数字类型
Number Type from Oracle to Teradata
问:
我需要在 Teradata 中复制一些 Oracle 表。 我有一个脚本可以为 Teradata 的表创建 sql,到目前为止一切正常,但我有一个小问题。
我在表“all_tab_columns”中查找列类型的信息,但我发现某些 NUMBER 列的 data_precision 和 data_scale为 NULL。因此,我无法在 Teradata 中复制它们,因为 NUMBER 类型要求精度和小数位数都大于 0。
有没有人用过这个,或者可以给我一个想法?
谢谢!
答:
2赞
dnoeth
7/12/2019
#1
您也可以在 Teradata 中定义 或。
只需尝试一下。number
number(*)
评论
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.00
2010
评论