2011-08-12 51 views

回答

4
;WITH T(C) AS 
(
SELECT 96.001 
UNION ALL 
SELECT 80.01 
) 

SELECT CEILING(CAST(C AS DECIMAL(18,2))) 
FROM T 
1

您正在尋找CEILINGFLOOR功能。

+0

不太。這個問題不是很清楚,但是'96 .001'應該被截斷爲'96 .00',然後舍入(向上),這導致96. '80 .01'被截斷爲'80 .01',然後舍入(向上),這導致81. – 2011-08-12 23:37:32

+0

啊,我明白了。是的,措辭不佳... –

+1

這就是爲什麼你想要天花板()。 80.01輪到80,而不是81.要從80.01獲得81,請使用ceiling()。 –

0
declare @myVar1 decimal(6,2) 
declare @myVar2 decimal(6,2) 
set @myvar1 = 96.001 
set @myvar2 = 80.01 

SELECT @myvar1, CAST(CEILING(@myVar1) as int), @myvar2, CEILING(@myVar2) 

結果:

96.001 | 96 | 80.010 | 81