社区
MySQL
帖子详情
double(18,2)与numeric(18,2)这两种写法有区别吗?
man5man
2010-05-09 12:51:39
double(18,2)与numeric(18,2)这两种写法有区别吗?
double与numeric好象都是浮点类型呀,
可是好象这两种写法不一样,区别在哪里呢?
...全文
1604
4
打赏
收藏
double(18,2)与numeric(18,2)这两种写法有区别吗?
double(18,2)与numeric(18,2)这两种写法有区别吗? double与numeric好象都是浮点类型呀, 可是好象这两种写法不一样,区别在哪里呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
man5man
2010-05-09
打赏
举报
回复
手册我看了,但是我没有明白。
是不是numeric比double要精确呢?
如果numeric更精确的话,那还用double做什么?
我知道二者有着本质区别,但是不知区别在哪里。
举例说,
哪种情况下要用double,用numeric就不好。
哪种情况下用numeric好,用double就不好
ACMAIN_CHM
2010-05-09
打赏
举报
回复
[Quote]FLOAT类型用于表示近似数值数据类型。SQL标准允许在关键字FLOAT后面的括号内选择用位指定精度(但不能为指数范围)。MySQL还支持可选的只用于确定存储大小的精度规定。0到23的精度对应FLOAT列的4字节单精度。24到53的精度对应DOUBLE列的8字节双精度。
MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。
MySQL将DOUBLE视为DOUBLE PRECISION(非标准扩展)的同义词。MySQL还将REAL视为DOUBLE PRECISION(非标准扩展)的同义词,除非SQL服务器模式包括REAL_AS_FLOAT选项。
为了保证最大可能的可移植性,需要使用近似数值数据值存储的代码应使用FLOAT或DOUBLE PRECISION,不规定精度或位数。
DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值,例如货币数据。当声明该类型的列时,可以(并且通常要)指定精度和标度;例如:
salary DECIMAL(5,2)
在该例子中,5是精度,2是标度。精度表示保存值的主要位数,标度表示小数点后面可以保存的位数。
在MySQL 5.1中以二进制格式保存DECIMAL和NUMERIC值。
标准SQL要求salary列能够用5位整数位和两位小数保存任何值。因此,在这种情况下可以保存在salary列的值的范围是从-999.99到999.99。
在标准SQL中,语法DECIMAL(M)等价于DECIMAL(M,0)。同样,语法DECIMAL等价于DECIMAL(M,0),可以通过计算确定M的值。在MySQL 5.1中支持DECIMAL和NUMERIC数据类型的变量形式。M默认值是10。
DECIMAL或NUMERIC的最大位数是65,但具体的DECIMAL或NUMERIC列的实际范围受具体列的精度或标度约束。如果此类列分配的值小数点后面的位数超过指定的标度允许的范围,值被转换为该标度。(具体操作与操作系统有关,但一般结果均被截取到允许的位数)。
[/Quote]
ACMAIN_CHM
2010-05-09
打赏
举报
回复
[Quote]double与numeric好象都是浮点类型呀,[/Quote]
numeric不是浮点数
iihero
2010-05-09
打赏
举报
回复
1
numberic只能表达最长65位精度的定点数
而double可以描述的是允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308
虽然numberic的小数位数可以更长些,但是表达的值的范围远不及double。
就这些区别。
不能光考虑精度,同时要考虑值域范围。
另外一个是定点,一个是浮点,运算时间效率也是不一样的。
mysql数据类型
mysql
b标签设置margin值没用_深入了解margin的问题
你真的了解margin吗?你知道margin有什么特性吗?你知道什么是垂直外边距合并?margin在块元素、内联元素中的
区别
?什么时候该用padding而不是margin?你知道负margin吗?你知道负margin在实际工作中的用途吗?常见的浏览器下margin出现的bug有哪些?……写css,你少不了与margin打交道,而对于这个平时我们最常用的css属性我们并非十分了解。介于此我打算写下这...
postgresql 数据类型
smallint、integer(或者int)、bigint。对应的扩展是int2、int4、int8 定点数
numeric
类型,这个用法如下,该类型是用在对于精确描述的数字上面,比如货币金额说明: precision:精度,就是小数点的左右共有多少个数字 scale:刻度,就是小数点的右边有多少个数字 比如: number(3,2):表示的就是2.12 number(3):表示的就可以是整数:123 number:表示的就不限制了:1233,432, 2212876注意: 1.虽然该类型功能看着
数据库相关知识点汇总
定义 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚SQL本文件的扩展名。 SQL语句分类 DDL(Data Definition Language):数据定义语言,包括数据库相关和表相关的SQL语句,在数据库软件中保存数据需要先建库建表之后才能操作数据,例如:create table DML(Data Manipulation Language
PostgreSQL SQL 语言:数据类型
本文档为PostgreSQL 9.6.0文档,本转载已得到原译者彭煜玮授权。 1. 数字类型 数字类型由2、4或8字节的整数以及4或8字节的浮点数和可选精度小数组成。Table 8-2列出了所有可用类型。 Table 8-2. 数字类型 下面的几节详细描述这些类型。 1.1. 整数类型 类型smallint、integer和bigint存储各种范围的全...
MySQL
56,940
社区成员
56,756
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章