程序员的知识教程库

网站首页 > 教程分享 正文

MySql学习笔记21——数据类型(小数)

henian88 2024-10-24 10:24:50 教程分享 102 ℃ 0 评论

浮点数类型

字节

范围

float

4

±1.75494351E-38~±3.402823466E+38

double

8

±2.2250738585072014E-308~±1.7976931348623157E+38

定点数类型

字节

范围

DEC(M,D)

M+2

最大取值范围与double相同,给定decimal的有效取值范围由M和D决定

DECCIMAL(M,D)

小数分类

1.浮点型

float (M,D)

double (M, D)

2.定点型

dec(M, D)

decimal (M, D)


小数特点

① M:整数部位+小数部位

D:小数部位

如果超过范围,则插入临界值

② M和D都可以省略

如果是decimal,则M默认为10,D默认为0

如果是float和double,则会根据插入的数值的精度来决定精度

③ 定点型的精确度较高,如果要求插入数值的精度较高如货币运算等则考虑使用


案例

CREATE TABLE test (

f1 FLOAT(5,2) ,

f2 DOUBLE(5,2) ,

f3 DECIMAL(5,2)

)

INSERT INTO test VALUES (123. 45, 123. 45, 123. 45) ;

SELECT * FROM test



INSERT INTO test VALUES (123. 456, 123. 456, 123. 456) ;

SELECT * FROM test


f3为定点数,小数点后只能是2位 所以报错

f1,f2虽然没报错但是,定义时规定小数点后2位,故第三位四舍五入了


INSERT INTO test VALUES (123. 4, 123. 4, 123. 4) ;

SELECT * FROM test


定义小数点后2位,位数不够自动补0


INSERT INTO test VALUES (1234. 45, 1234. 45, 1234. 45) ;

SELECT * FROM test


整数4位+小数2位 合计6位 超出定义的5位,所以插入了5位的最大值999.99

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表