我必須舍入所有輸入數據的類型DECIMAL(14,3)
,它有3個十進制數字到最後一個數字。即:在SQL 2008中將DECIMAL(14,3)向下舍入到第三個十進制數字
100; 100.0; 100.00; 100.000 -> 100
100.2; 100.02; 100.20; 100.22 -> 100.xx
但
100.221 -> 100.22
100.229 -> 100.22
使用的SQL操作,我可以檢查,在十進制數師的殘留物是大於零?
我必須舍入所有輸入數據的類型DECIMAL(14,3)
,它有3個十進制數字到最後一個數字。即:在SQL 2008中將DECIMAL(14,3)向下舍入到第三個十進制數字
100; 100.0; 100.00; 100.000 -> 100
100.2; 100.02; 100.20; 100.22 -> 100.xx
但
100.221 -> 100.22
100.229 -> 100.22
使用的SQL操作,我可以檢查,在十進制數師的殘留物是大於零?
使用的SQL操作,我可以檢查 該部門的殘留十進制 數字是大於零?
我不知道你想達到什麼,但如果你想要一種方法來計算小數點後,%
(模數)就是這樣。它在將第一個數字表達式除以第二個數字表達式之後提供整數餘數。所以,你可以做到這一點
1)SELECT 100.229 % 1;
GO
給出0.229
作爲結果。
2)SELECT (100.229 * 100) % 1;
GO
給出0.900
作爲結果。你有十進制除法的殘留。
但是,如果你要截斷,你可以做David B建議,並使用ROUND()截斷:
SELECT ROUND(100.221, 2, 1); GO SELECT ROUND(100.229, 2, 1); GO