Maison > base de données > tutoriel mysql > Comment tronquer, et non arrondir, les décimales dans SQL Server ?

Comment tronquer, et non arrondir, les décimales dans SQL Server ?

Mary-Kate Olsen
Libérer: 2025-01-15 07:33:44
original
784 Les gens l'ont consulté

How to Truncate, Not Round, Decimal Places in SQL Server?

SQL Server : précision dans la gestion des décimales – troncature ou arrondi

Les calculs décimaux précis dans SQL Server nécessitent souvent de choisir entre la troncature et l'arrondi. Ce guide détaille les principales différences et montre comment tronquer les valeurs décimales sans arrondir.

Exemple illustratif :

<code class="language-sql">DECLARE @value DECIMAL(18,2);
SET @value = 123.456;</code>
Copier après la connexion

SQL Server arrondit automatiquement @value à 123,46. Bien qu'ils conviennent à de nombreuses applications, il existe des scénarios dans lesquels l'arrondi n'est pas souhaitable, nécessitant une troncature.

Techniques de troncature efficaces

1. Tirer parti de la fonction ROUND :

La fonction ROUND offre une fonctionnalité subtile mais puissante : un troisième paramètre contrôlant la troncature.

<code class="language-sql">ROUND(123.456, 2, 1);</code>
Copier après la connexion

Un troisième paramètre différent de zéro demande ROUND de tronquer plutôt que d'arrondir.

2. Utilisation de CAST et CONVERT :

La conversion ou la conversion de la décimale en un type entier tronque directement la partie décimale :

<code class="language-sql">CAST(@value AS INT);
CONVERT(INT, @value);</code>
Copier après la connexion

3. Manipulation de chaînes avec SUBSTRING ou LEFT :

Extrayez la partie souhaitée à l'aide de SUBSTRING ou LEFT, puis reconvertissez-la en décimal :

<code class="language-sql">SUBSTRING(@value, 1, 4);
LEFT(@value, 4);</code>
Copier après la connexion

4. Utilisation de la fonction FLOOR :

La fonction FLOOR, combinée à la multiplication et à la division, propose une autre méthode de troncature :

<code class="language-sql">FLOOR(@value * 100) / 100;</code>
Copier après la connexion

Cela tronque effectivement à deux décimales. N'oubliez pas d'ajuster le multiplicateur et le diviseur pour différents niveaux de précision.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal