我想要%的do列。
我需要写: 1.00,2.00,99.99,100.%
我怎么能用双类型来做这个?
现在我有:
Double(4,2)但是,当我在列中写100时,我会得到错误:
超出范围的数值:列的1264超出范围值
发布于 2018-06-17 06:28:47
发布于 2018-06-17 06:27:18
double(4,2)指的是一个双数,总共有四个数字,其中两个是小数点的右边,这意味着你的左边只有4-2=2位数字。100在小数点左侧有三位数字,因此出现了错误。相反,使用double(5,2)可以解决这个问题。
发布于 2018-06-17 06:44:06
来自MySQL文档
MySQL允许使用非标准语法:
FLOAT(M,D) or REAL(M,D) or DOUBLE PRECISION(M,D).
Here, (M,D) means than values can be stored with up to M digits in total,
of which D digits may be after the decimal point. 例如,
定义为浮点数(7,4)的列在显示时将类似于-999.9999。
MySQL在存储值时执行四舍五入,因此如果将999.00009插入浮点数(7,4)列,则近似结果为999.0001。
谈到您的问题,您需要增加M,即Double(5,2)的大小。
https://stackoverflow.com/questions/50894229
复制相似问题