SQL这个语法多于吗

为什么要*1.呢?不可以直接/100吗?

回答

这实际上是一种比较便捷的写法,先看一个例子:

select cast(5/100 as decimal(18,2))

这个执行得到的结果是是 0.00,原因是因为整型计算,所以5/100=0,然后再转换,你再执行下面的例子:

select cast(5*1./100 as decimal(18,2))

这个得到的结果是0.05,原因是先做的5*1.的操作时将值转换为了浮点型,避免了计算精度丢失的问题,是一种常见的利用语言自身机制的取巧写法。

以上是SQL这个语法多于吗的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>