SQL Server数据类型与Oracle的等效数据类型是什么?

8

我有一个Oracle 10g数据库表作为数据源。我计划从这个表中提取数据并插入到SQL Server表中。Oracle表包含以下数据类型:

NUMBER
NUMBER(2, 7)
LONG

在SQL Server中,哪些数据类型是等效的?

1个回答

5
我经常处理在MSSQL和Oracle之间导入和导出数据的工作,这里有一个最简单但也最准确的数据类型比较: http://download.oracle.com/docs/cd/B19306_01/gateways.102/b14270/apa.htm 在您的情况下,您需要执行以下操作:
  • 分析具有类型 NUMBER 的字段,并尝试查找比例/精度(可能是服务器默认值)
  • 如果无法确定,请分析列中的值并从中检索最大比例和精度
  • 然后在您的MSSQL表中创建一个具有该比例/精度的NUMERIC字段
一般来说,Oracle的NUMBER最简单的表示方式是使用NUMERIC类型。但在某些情况下,值实际上是布尔值、整数等。

是的,因为MSDN页面实际上并不是指Oracle中的数据类型,而是指由Oracle提供程序返回的数据类型,这些数据类型可能会有所不同,因为提供程序试图进行一些错误处理以防止类型不匹配。 - ntziolis
好吧,现在我不知道该相信哪一个? - juur
哈哈,我之前也遇到了和你一模一样的问题,但与你不同的是,我必须通用地映射所有可映射的类型。请记住,MSDN文档在与SQL Server复制结合使用时是正确的,但可能不包含所有可能的映射。在你的情况下,你应该只需要一个文档就可以了。数字字段是棘手的,但一旦你知道精度/比例,你就可以放心使用了。 - ntziolis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接