ホームページ >データベース >mysql チュートリアル >SQL Serverで小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?
SQL Server で正確な 10 進数を計算するには、多くの場合、切り捨てと四捨五入のどちらかを選択する必要があります。このガイドでは、主な違いを詳しく説明し、四捨五入せずに小数値を切り捨てる方法を示します。
具体的な例:
<code class="language-sql">DECLARE @value DECIMAL(18,2); SET @value = 123.456;</code>
SQL Server は、@value
を 123.46 に自動的に丸めます。 多くのアプリケーションに適していますが、丸めが望ましくなく、切り捨てが必要になるシナリオも存在します。
効果的な切り捨てテクニック
1. ROUND 関数の活用:
ROUND
関数は、切り捨てを制御する 3 番目のパラメーターという、微妙だが強力な機能を提供します。
<code class="language-sql">ROUND(123.456, 2, 1);</code>
ゼロ以外の 3 番目のパラメーターは、ROUND
に四捨五入ではなく切り捨てを指示します。
2. CAST と CONVERT の使用:
小数を整数型にキャストまたは変換すると、小数部分が直接切り捨てられます。
<code class="language-sql">CAST(@value AS INT); CONVERT(INT, @value);</code>
3. SUBSTRING または LEFT による文字列操作:
SUBSTRING
または LEFT
を使用して必要な部分を抽出し、10 進数に変換し直します。
<code class="language-sql">SUBSTRING(@value, 1, 4); LEFT(@value, 4);</code>
4. FLOOR 関数の使用:
FLOOR
関数は、乗算と除算と組み合わせて、別の切り捨て方法を提供します。
<code class="language-sql">FLOOR(@value * 100) / 100;</code>
これは事実上、小数点第 2 位まで切り捨てられます。 さまざまな精度レベルに合わせて乗数と除数を忘れずに調整してください。
以上がSQL Serverで小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。