decimal 和 numeric
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2121
decimal 和 numeric (Transact-SQL)
参数
decimal [ (p[ ,s] )] 和 numeric[ (p[ ,s] )]
固定精度和小数位数。 使用最大精度时,有效值的范围为 - 10^38 +1 到 10^38 - 1。 decimal 的 ISO 同义词为 dec 和 dec(p、s)。 numeric 在功能上等价于 decimal。
p(精度)
最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。 该精度必须是从 1 到最大精度 38 之间的值。 默认精度为 18。
s (小数位数)
小数点右边可以存储的十进制数字的位数。 从 p 中减去此数字可确定小数点左边的最大位数。 小数点右边可以存储的十进制数字的最大位数。 小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。 默认的小数位数为 0;因此,0 <= s <= p。 最大存储大小基于精度而变化。
精度 存储字节数
1 - 9 5
10-19 9
20-28 13
29-38 17
转换 decimal 和 numeric 数据
对于 decimal 和 numeric 数据类型,SQL Server 会将精度和小数位数的每个特定组合视为不同的数据类型。 例如,将 decimal(5,5) 和 decimal(5,0) 视为不同的数据类型。
在 Transact-SQL 语句中,带有小数点的常量将自动转换为 numeric 数据值,而且使用必需的最小精度和小数位数。 例如,常量 12.345 将被转换为精度为 5,小数位数为 3 的 numeric值。
从 decimal 或 numeric 转换为 float 或 real 会导致精度的降低。 从 int、smallint、tinyint、float、real、money 或 smallmoney 转换为 decimal 或 numeric 会导致溢出。
默认情况下,将数字转换为较低精度和小数位数的 decimal 或 numeric 值时,SQL Server 会进行舍入。 但如果 SET ARITHABORT 选项为 ON,则发生溢出时,SQL Server 会产生错误。 若仅降低精度和小数位数,则不会产生错误。
在将 float 值或实数值转换为 decimal 或 numeric 类型时,decimal 值不会超过 17 位小数。 任何小于 5E-18 的 float 值总是会转换为 0。
示例
以下示例将使用 decimal 和 numeric 数据类型创建一个表。 值将插入每一列,并使用 SELECT 语句返回结果。
CREATE TABLE dbo.MyTable
(
MyDecimalColumn decimal(5,2)
,MyNumericColumn numeric(10,5)
);
GO
INSERT INTO dbo.MyTable VALUES (123, 12345.12);
GO
SELECT MyDecimalColumn, MyNumericColumn
FROM dbo.MyTable;
下面是结果集:
MyDecimalColumn MyNumericColumn
123.00 12345.12000
(1 row(s) affected)
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2121
decimal 和 numeric相关推荐
- numeric mysql_MYSQL的DECIMAL和NUMERIC类型
MYSQL, DECIMAL和NUMERIC类型 说明: DECIMAL和NUMERIC类型在MySQL中视为相同的类型.它们用于保存必须为确切精度的值,例如货币数据. 当声明该类型的列时,可以(并且 ...
- numeric mysql_MySQL数据类型-decimal与numeric的区别
1.首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numeric将自动转成decim ...
- SQL Server decimal 和 numeric 区别
最近看到了decimal 和 numeric ,又记不起来区别是什么,还是总结一下. decimal 和 numeric 在 SQL 标准中可以说是等价的的,在SQL Server 中是一样的(参考: ...
- mysql:列类型之decimal、numeric
环境: window10 vs2022 .net 6 mysql 8.0.25 DBeaver 参考: <mysql:11.1.3 Fixed-Point Types (Exact Value) ...
- decimal 和 numeric 的区别
decimal(numeric ) 同义,用于精确存储数值 decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边.decimal 数据类型存储了一个准确(精确)的数字表达法 ...
- mysql的real类型_MSSQL数据类型-浮点数据类型 (real、float、decimal、numeric)
浮点数据类型包括real型.float型.decimal型和numeric型.浮点数据类型用于存储十进制小数.在SQL Server 中浮点数值的数据采用上舍入(Round up)的方式进行存储,所谓 ...
- 2010.12.14 关于decimal和Numeric类型
decimal:从-10^38到10^38-1的定精度与有效位数的数字 numeric:decimal的同义词 怎么理解Numberic类型呢? Decimal数据类型,语法为:Decimal(P,S ...
- mysql 数据类型 decimal_mysql decimal、numeric数据类型
可能做程序的人都知道,float类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理.这样我们在存取货币值的时候自然遇到问题,我的default ...
- decimal 和 numeric (Transact-SQL)
带固定精度和小数位数的数值数据类型. decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )] 固定精度和小数位数.使用最大精度时,有效值从 - 10^38 +1 到 1 ...
最新文章
- 请收下这份NLP热门词汇解读
- 继承:深度优先和广度优先
- myeclipse tomcat内存溢出解决方法
- halcon get_image_pointer1获取图像指针
- TypeError: Cannot set property 'msg' of undefined
- MVC2中Area的路由注册实现
- [转载] 杜拉拉升职记——53 自由自在地活
- flash代码_Flash如何处理常见的代码错误(AS3)(2)
- android自动登录_游戏社区App (三):客户端与服务端的加密处理 和 登录
- 企业微信登陆服务器设置,企业微信怎么登入
- java restsharp_RestSharp 一个.NET(C#)的HTTP辅助类组件
- jndi weblogic mysql_WebLogic使用总结(三)——WebLogic配置JNDI数据源
- linux 开启共享文件,文件夹共享权限设置,linux设置文件夹权限-
- 源码编译更新nginx到最新版本,并开始nginx支持http2协议模块.
- BigDecimal取余运算
- Flex Builder 3 如何弹出“打开文件对话框”,限制选择文件类型
- 电脑重启f12怎么处理_联想电脑开机按f12后,怎么设置默认启动项
- JavaScrip笔记心得(持续更新)
- 计算机提示没有有效的ip配置,Win7本地连接没有有效的ip配置怎么办?
- STM32 多个定时器 多路PWM配置