我正在将现有的oracle SQL查询转换为DB2 - 我想知道oracle构造了什么:
COLUMN1_ NUMBER(*,10)
...在DB2中意味着......
COLUMN1_
是表格中的列名。
答案 0 :(得分:1)
我做了一些挖掘并发现了这个:
Oracle保证可移植性 精度等于或的数字 少于38位。你可以指定一个 规模和精度:
column_name NUMBER(*,scale)
在这种情况下,精度为38,和 保持指定的比例。
从这里开始:http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#i22289
虽然我还没有找到DB2创建表查询的内容。
任何输入?
答案 1 :(得分:0)
您可以使用DECIMAL(x,y)替换NUMBER(x,y)或启用compatibility features并保持原样。
答案 2 :(得分:0)
我不知道你可以使用星号,所以我创建了一个包含该列规范的表。在Oracle 10.2中,它与之相同
NUMBER(22, 10)
或DECIMAL(22, 10)
。
第一个数字(22)是允许的最大有效位数。第二个数字(10)是小数点右边的最大位数。
答案 3 :(得分:0)
从版本9.7开始,DB2 for Linux,UNIX和Windows现在支持各种Oracle函数,数据类型(NUMBER,VARCHAR2,包含时间戳的DATE,仅举几例),还介绍了PL / SQL兼容性。这些功能的目标是帮助加速和简化将应用程序从Oracle迁移到DB2的任务。 IBM甚至提供了一个名为MEET DB2的兼容性分析工具,它将扫描Oracle DDL的摘录(包括PL / SQL包),以生成一个报告,突出显示可能需要在DB2中进行一些手动调整的区域。当DB2_COMPATIBILITY_VECTOR设置为ORA时,超过90%的原始Oracle代码按原样正常运行并不罕见。