執行這些並檢查結果爲什麼是這樣?強制轉換爲Integer無法正常工作?
declare @a decimal(8,3) =235.363
declare @b int =1
select case @b
when 1 then cast(@a as int)
when 2 then CAST(@a as decimal(8,3))
end
Result : 235.000
declare @a decimal(8,3) =235.363
declare @b int =1
select case @b
when 1 then cast(@a as int)
--when 2 then CAST(@a as decimal(8,3))
end
Result : 235
declare @a decimal(8,3) =235.363
declare @b int =1
select case @b
when 1 then cast(@a as tinyint)
when 2 then CAST(@a as float)
end
Result : 235
嗯,問題是:你在期待什麼? – 2011-12-17 09:06:29