Oracle中Number decimal,float 和 real 数据类型的区别
2个回答
展开全部
主要是 1 可表示数字大小及精度问题 2 存储字节问题float -1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308 取决于 n 的值 real -3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38 4 字节 decimal[ (p[ , s] )] p(精度),s (小数位数)固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。 精度 1 - 9 存储字节数 5 精度 10 - 19 存储字节数 9 精度 20 - 28 存储字节数 13 精度 29 - 38 存储字节数 17
展开全部
decimal 数据类型存储 38 数字所数字都能够放数点右边decimal 数据类型存储准确(精确)数字表达;存储值近似值 定义 decimal 列、变量参数两种特性: p 数点左边右边数字包括数点 123.45,则 p=5s=2 指定精度或象能够控制数字数 s 指定放数点右边数位数或数字数 p s 必须遵守规则:0 <= s <= p <= 38 numeric decimal 数据类型默认精度值 38 Transact-SQL numeric 与 decimal 数据类型功能等效 数据值定要按照指定精确存储用带数 decimal 数据类型存储数字 float real 数据 float real 数据类型称近似数据类型近似数字数据类型面float real 数据使用遵循 IEEE 754 标准 近似数字数据类型并存储数数字指定精确值储存些值近似值应用程序指定值与存储值间微差异并明显些差异值引起注意由于 float real 数据类型种近似性要求精确数字状态比财务应用程序些需要舍入操作或等值核操作使用些数据类型要用 integer、decimal、money 或 smallmone 数据类型 WHERE 句搜索条件(特别 = > 运算符)应避免使用 float 或 real 列限制使用 float real 列做 > 或 < 比较 IEEE 754 规格提供四种舍入模式:舍入接近值、舍入、舍入舍入零Microsoft® SQL Server™ 使用舍入所数值必须精确确定精度产细浮点值变化浮点数字二进制表示采用合舍入规则任意条我能靠量化浮点值 转换 decimal numeric 数据 于 decimal numeric 数据类型Microsoft® SQL Server™ 精度数位数每特定组合看作同数据类型例decimal(5,5) decimal(5,0) 作同数据类型(编存储程使用变量采用Real 或 Float,采用decimal类型) Transact-SQL 语句带数点量自转换 numeric 数据值且必使用精度数位数例量 12.345 转换numeric 值其精度 5数位 3 decimal 或 numeric 向 float 或 real 转换导致精度损失 int、smallint、tinyint、float、real、money 或 smallmoney 向decimal 或 numeric 转换导致溢 默认情况数字转换较低精度数位数 decimal 或 numeric 值SQL Server 使用舍入 SET ARITHABORT 选项 ON发溢SQL Server 现错误若仅损失精度数位数则产错
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询