關於Cast()函數

rockyvan 2008-04-07 10:42:31
請先看代碼:

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有本質區別嗎?
從上面的代碼和結果好像看不出什麽區別。
再問:二者執行效率有區別嗎(一個用乘法,一個用函數)?
這個是我最關心的。
...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovehilton 2008-06-13
  • 打赏
  • 举报
回复
5kuai qian jiezhang ma ??????
utpcb 2008-04-07
  • 打赏
  • 举报
回复
应该是精度问题吧!  decimal 是最准确的 例如不会出现 3.1 变为 3.09999999999 这种状况
utpcb 2008-04-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dawugui 的回复:]
X*1.00是为了获取小数.
不然,25/6 = 4
[/Quote]
dawugui 2008-04-07
  • 打赏
  • 举报
回复
X*1.00是为了获取小数.
不然,25/6 = 4
qiyousyc 2008-04-07
  • 打赏
  • 举报
回复
没有本质区别,就是X*1.00的效率要高些。
而且一般的都用X*1.00来实现小数化问题。
rockyvan 2008-04-07
  • 打赏
  • 举报
回复
基本明白,結帳了。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧