我正在阅读mysql手册,并希望确保我能正确理解。
如果我有DECIMAL(15,8),那么这意味着在小数点前是6位数,在小数点后是8位吗?
如果我想在价格之后从15,2移动到允许8位小数,那么我应该移动到21,8所以我不会失去任何精度吗?
答案 0 :(得分:2)
来自mysql文档:http://dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html
在DECIMAL列声明中,可以(通常是)指定精度和比例;例如:
salary DECIMAL(5,2)
在此示例中, 5是精度,2是刻度。精度表示为值存储的有效位数,刻度表示小数点后可存储的位数。
标准SQL要求DECIMAL(5,2)能够存储五位数和两位小数的任何值,因此可以存储在工资列中的值范围为-999.99到999.99 。