ROUNDDOWN機能を使いたい。
次のクエリを使用しようとすると、「「rounddown」は認識された組み込み関数名ではありません」というエラーが表示されます。
select rounddown(25.227,2)
私の要件は、値を小数点以下2桁に切り捨てることです
例:値25.22789の場合、結果は25.22になります
そしてまた切り上げ
例:値25.22789の場合、結果は25.23になります
何か助けは?
前もって感謝します
あなたはCEILING()
またはfloor()
関数のいずれかを探していると思います
select CEILING(25.227) //results in 26
(または)
select FLOOR(25.227) //Results in 25
編集:
例:値25.22789の場合、結果は25.22になります
以下のように試すことができます
select round(25.22789, 2, 2)
結果は25.22000
端数を切り捨てるには、単純な数式を使用します(四捨五入したいよりも小数点第1位まで)。
SELECT ROUND(25.22789 - 0.005, 2)
出力25.22
切り上げには、単にROUNDを使用します。
SELECT ROUND(22.22789, 2)
出力25.23
ラウンド関数
SELECT ROUND(@num, 2, 1)
を使用できます
[〜#〜] round [〜#〜] の説明に従って:
ROUND ( numeric_expression , length [ ,function ] )
関数が省略されるか、値が0(デフォルト)の場合、numeric_expressionは丸められます。 0以外の値が指定された場合、numeric_expressionは切り捨てられます。
[〜#〜]結果[〜#〜]
25.22
CHARINDEXおよびLEFT
または、"ROUND DOWN"
を実行し、_CHARINDEX
を使用して"ROUND UP"
を実行する場合は、以下でLEFT
およびROUND
を使用できます。
DECLARE @num DECIMAL(16,3) = 25.227
SELECT LEFT(@num,CHARINDEX('.',@num)+2) as [RoundDown],
ROUND(@num,2) as [RoundUp]
[〜#〜]結果[〜#〜]
RoundDown RoundUp
25.22 25.23
[〜#〜]更新[〜#〜]
ROUNDUP
に関するコメントに従って、次のように使用できます。
SELECT ROUND(22.22289 + 0.005, 2) as [RoundUp1]
[〜#〜]結果[〜#〜]
25.23
[〜#〜]デモ[〜#〜]
あなたはそれをテストすることができます SQL FIDDLE
また、CASTを使用できます。
declare @num decimal(18,5) = 22.22719
select @num, CAST(@num as decimal(18,3))