一、默认float,不设置长度
表结构
test_table2
id int
count float(0,0)插入数据
insert into test_table2 values (1,111111) ; -- 6 位 正常
insert into test_table2 values (2,222228) ; -- 6 位 正常
insert into test_table2 values (3,3333333) ; -- 7 位 最后一位四舍五入
insert into test_table2 values (4,4444448) ; -- 7 位 最后一位四舍五入
insert into test_table2 values (5,5555.11) ; -- 6 位 正常
insert into test_table2 values (6,555.117) ; -- 6 位 正常
insert into test_table2 values (7,555.111) ; -- 6位 正常
insert into test_table2 values (8,55555.11) ; -- 7 位 小数四舍五入
insert into test_table2 values (9,5555.111) ; -- 7 位 小数四舍五入
insert into test_table2 values (10,5555.117) ; -- 7 位 小数四舍五入
insert into test_table2 values (11,55555.1177) ; -- 7 位 满足整数位数,小数四舍五入
insert into test_table2 values (12,55555.1777) ; -- 9 位 ,满足整数位数,小数四舍五入
insert into test_table2 values (13,3333333333333) ; -- 正常 结果如图
insert into test_table2 values (14,333333.3333333) ; -- 正常 结果如图
select * from test_table2 a order by id ;
结果图
默认float不设置长度,结果如上图
二、给float设置长度
表结构
test_table2
id int
count float(4,2)
插入数据
insert into test_table values (1,11.11) ; -- 整数 小数各两位 正常
insert into test_table values (1,1111) ; -- 报错[Err] 1264 - Out of range value for column 'count' at row 1
insert into test_table values (2,11.111) ; -- 正常 小数最后一位四舍五入 11.11
insert into test_table values (2,11.118) ; -- 正常 小数最后一位四舍五入 11.12
insert into test_table values (2,112.1) ; -- 报错 [Err] 1264 - Out of range value for column 'count' at row 1
小数位不论插入多长,最后四舍五入只留2位
整数位只能插入两位(float(m,n),即m-n位)
----------------------------------------------------------------------
有误请指正