給出這兩個示例,將每個示例四捨五入到整數的正確語法是什麼。這必須是設置操作,因爲小數來自列。如何在SQL Server 2008 R2中截斷然後舍入數字
96.001將是96
80.01將是81
謝謝 斯蒂芬
給出這兩個示例,將每個示例四捨五入到整數的正確語法是什麼。這必須是設置操作,因爲小數來自列。如何在SQL Server 2008 R2中截斷然後舍入數字
96.001將是96
80.01將是81
謝謝 斯蒂芬
;WITH T(C) AS
(
SELECT 96.001
UNION ALL
SELECT 80.01
)
SELECT CEILING(CAST(C AS DECIMAL(18,2)))
FROM T
您正在尋找CEILING
和FLOOR
功能。
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
不太。這個問題不是很清楚,但是'96 .001'應該被截斷爲'96 .00',然後舍入(向上),這導致96. '80 .01'被截斷爲'80 .01',然後舍入(向上),這導致81. – 2011-08-12 23:37:32
啊,我明白了。是的,措辭不佳... –
這就是爲什麼你想要天花板()。 80.01輪到80,而不是81.要從80.01獲得81,請使用ceiling()。 –