2011-08-12 16 views
1

これらの2つの例を考えてみましょう。各例を整数に丸める正しい構文は何ですか。小数は列からのものであるため、これは集合演算でなければなりません。SQL Server 2008 R2で数値を切り捨てる方法

96.001は96

80.01になりますあなたがCEILINGFLOOR機能を探している81

ありがとう、 スティーブン

答えて

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

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

になります。

+0

かなりありません。質問はあまり明確ではありませんでしたが、'96 .001 'を'96 .00'に切り捨てて丸め(96)にする必要があります。'80 .01 'は'80 .01'に切り捨てられ、切り上げ(上)されます。 81. –

+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 
関連する問題