Troncation décimale SQL Server : un guide
Travailler avec des décimales dans SQL Server nécessite souvent un contrôle précis des décimales. Parfois, vous devez supprimer des chiffres supplémentaires sans effet d’arrondi. Bien que la fonction ROUND()
de SQL Server soit principalement destinée à l'arrondi, elle peut également tronquer.
Pour tronquer, utilisez la fonction ROUND()
avec un troisième argument non nul. Un zéro dans cette position signifie un arrondi ; toute autre valeur effectue une troncature.
Illustrons :
<code class="language-sql">DECLARE @value DECIMAL(18, 2); SET @value = 123.456;</code>
Normalement, @value
serait arrondi à 123,46. Pour tronquer :
<code class="language-sql">SELECT ROUND(@value, 2, 1);</code>
Cela renvoie 123,45, tronquant ainsi la décimale supplémentaire.
Syntaxe et paramètres de fonction
La fonction ROUND()
suit cette structure :
<code class="language-sql">ROUND(numeric_expression, length [ ,function ])</code>
Voici une répartition des arguments :
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. |
Considérations importantes
length
peut être positif ou négatif. Les valeurs positives contrôlent les décimales à droite du point décimal, tandis que les valeurs négatives affectent les chiffres à gauche.function
est facultatif ; la valeur par défaut est 0 (arrondi) en cas d'omission.Cette méthode fournit un moyen simple de tronquer les valeurs décimales dans SQL Server sans recourir à des solutions de contournement plus complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!