我最近看到很多查询都使用
100.
100
CAST(100. * foo) AS NUMERIC(5,2)
但是
使用 100.(或 100.0)用于防止整数数学运算。
在 t-sql 中,每种数据类型都有一个“优先顺序”,其中小数高于整数。通过在表达式的任何部分将文字值指定为小数,计算将隐式地以小数形式执行。 select 100 / 6 /* = 16 */ select 100. / 6 /* = 16.666666 */
select 100 / 6 /* = 16 */ select 100. / 6 /* = 16.666666 */