我有一个mysql数据库,有课程和价格(十进制10.0)。问题是当我添加一个价格时,例如12.5,sql将转换为13。为什么会这样?
hec6srdp1#
要定义数据类型为decimal的列,请使用以下语法:
column_name DECIMAL(P, D)
其中p是表示小数点左边位数的精度,&d是表示小数点右边位数的刻度因此,在你的例子中 prices(DECIMAL 10.0) p是10,d是0。因此,在您的价格栏中,小数点左边总是有10位数字,小数点右边总是0。要更新prices列以允许小数点右侧有更多位数,语法如下:
prices(DECIMAL 10.0)
alter table table_name modify column prices DECIMAL(10,4);
1条答案
按热度按时间hec6srdp1#
要定义数据类型为decimal的列,请使用以下语法:
其中p是表示小数点左边位数的精度,&d是表示小数点右边位数的刻度
因此,在你的例子中
prices(DECIMAL 10.0)
p是10,d是0。因此,在您的价格栏中,小数点左边总是有10位数字,小数点右边总是0。
要更新prices列以允许小数点右侧有更多位数,语法如下: