SQL Server の小数切り捨て: ガイド
SQL Server で小数を扱う場合、多くの場合、小数点以下の桁を正確に制御する必要があります。 場合によっては、丸めの影響を与えずに余分な桁を削除する必要があります。 SQL Server の ROUND()
関数は主に丸め処理を目的としていますが、切り捨てることもできます。
切り詰めるには、ゼロ以外の 3 番目の引数を指定して ROUND()
関数を使用します。 この位置のゼロは丸めを意味します。他の値は切り捨てられます。
説明してみましょう:
<code class="language-sql">DECLARE @value DECIMAL(18, 2); SET @value = 123.456;</code>
通常、@value
は 123.46 に丸められます。 切り詰めるには:
<code class="language-sql">SELECT ROUND(@value, 2, 1);</code>
これは 123.45 を返し、余分な小数点以下の桁は事実上切り捨てられます。
関数の構文とパラメーター
ROUND()
関数は次の構造に従います:
<code class="language-sql">ROUND(numeric_expression, length [ ,function ])</code>
引数の内訳は次のとおりです:
Argument | Description |
---|---|
numeric_expression |
The decimal value you want to truncate. |
length |
The desired precision (number of decimal places). Positive values specify decimal places to the right of the decimal point; negative values specify places to the left. |
function |
The operation type. 0 rounds; any non-zero value truncates. |
重要な考慮事項
length
パラメータは正または負の値を指定できます。 正の値は小数点の右側の小数位を制御し、負の値は左側の桁に影響を与えます。function
パラメータはオプションです。省略した場合、デフォルトは 0 (四捨五入) になります。この方法は、より複雑な回避策に頼ることなく、SQL Server で 10 進数値を切り捨てる簡単な方法を提供します。
以上がSQL Server で小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。