当前位置: 代码迷 >> Sql Server >> 關於Cast()函數,该怎么解决
  详细解决方案

關於Cast()函數,该怎么解决

热度:278   发布时间:2016-04-27 15:19:04.0
關於Cast()函數
請先看代碼:
SQL code
select 25*1.00,cast(25 as decimal(30,2)),25*1.00/6,cast(25 as decimal(30,2))/6---------- -------------------------------- ------------ --------------------- --25.00    25.00                            4.166666     4.166666--(影響 1 個資料列)

請問:Cast(XX as decimal(30,2))和X*1.00有本質區別嗎?
從上面的代碼和結果好像看不出什麽區別。
再問:二者執行效率有區別嗎(一個用乘法,一個用函數)?
這個是我最關心的。

------解决方案--------------------
没有本质区别,就是X*1.00的效率要高些。
而且一般的都用X*1.00来实现小数化问题。
------解决方案--------------------
X*1.00是为了获取小数.
不然,25/6 = 4
------解决方案--------------------
应该是精度问题吧!  decimal 是最准确的 例如不会出现 3.1 变为 3.09999999999 这种状况
  相关解决方案