网上找了找,自己又详细总结了一下,弄清楚就好
关于 decimal(p,s)
P:精度
指定可以存储的十进制数字的最大个数。
精度必须是从1到最大精度之间的值。最大精度为38。
S:小数位数(超出则四舍五入)
例如:decimal(6,2) 则表示可以存储6个数字(若有小数位,则包含小数位个数)
并保留2位小数。
若超出指定的精度,例如 select cast(45356.456 as decimal(6,2))
报错信息为:“将 numeric 转换为数据类型 numeric 时出现算术溢出错误。”
改为 select cast(45356.456 as decimal(7,2)) 即可