DSCT01100:十进制浮点数据类型已更改为二进制浮点数以保留小数位数(警告)
本文介绍数据库架构转换工具包可能将数据类型从十进制浮点数更改为二进制浮点数的原因。
背景
Oracle 数据库支持十进制浮点数据类型,此类型允许比 Microsoft SQL decimal
/numeric
数据类型更大的范围。 例如,Oracle 的 NUMBER
数据类型表示十进制浮点数,并允许 -84
到 127
的范围,而 Microsoft SQL decimal
/numeric
数据类型允许的最大值为 38
。 为了在这种情况下保持范围,数据库架构转换工具包会将数据类型更改为 float
。
示例
以下面的 Oracle 表定义为例:
CREATE TABLE EXAMPLE
(
COLUMN1 NUMBER(10, 50)
)
NUMBER(10, 50)
数据类型允许 10
个有效十进制位,范围达到 10^50
。 此类值不适合 Microsoft SQL decimal
/numeric
数据类型。
可能的补救措施
确保可接受使用二进制浮点数。 如果应用程序方案需要完整的十进制精度,请考虑使用 VARCHAR
数据类型按原样存储数字。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈