ホームページ >データベース >mysql チュートリアル >SQL Server で小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?

SQL Server で小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-15 09:51:44805ブラウズ

How Can I Truncate Decimal Places in SQL Server Without Rounding?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。