decimal通吃
我就看下 为什么会这样
@im1coder: 小数位数也是跟乘的int有关系
@LiveCoding: 就是想知道他出现精度丢失的依据是什么,你看第三列他又没截断
@im1coder: 看看你原始数量和单价是几位小数的,是啥类型
@LiveCoding: numeric(16,6) 和numeric(20,10) 这个不是很理解
@im1coder: 在 SQL Server 中,numeric(16,6) 和 numeric(20,10) 分别表示整数类型为 16 位和 20 位的数据类型。
numeric(16,6) 类型表示整数类型为 16 位的数据,其中最大值为 32767,最小值为 -32768。
numeric(20,10) 类型表示整数类型为 20 位的数据,其中最大值为 2147483647,最小值为 -2147483648。
需要注意的是,numeric(16,6) 和 numeric(20,10) 类型在 SQL Server 中是默认的数据类型,如果没有指定数据类型,则默认使用这两个数据类型。如果需要使用其他数据类型,可以在 SQL Server 的配置文件中进行修改。
类型在使用中会系统会提升类型,整形和numeric 类型相乘会提升为numberic