SQL 數字精度的問題

SQL 數字精度的問題

這個問題有點麻煩

在SQL查詢時

用CASE WHEN做條件判斷

然後再做4捨5入

 

重點在於 CASE WHEN的第1個判斷

如果用CEILING取到整數

而第2個判斷用ROUND取到小數

事實上就ROUND的小數會失效

 

簡單解法就是在CEILING再加上轉型成decimal

 

CASE WHEN Field=1 THEN  CONVERT(decimal(16,4),CEILING(Field2))  ELSE ROUND(Field2,3) END

 

自我LV~