Comment Tronquer les Décimales dans SQL Server Sans Arrondi

Lorsque vous travaillez avec des valeurs décimales dans SQL Server, vous pourriez parfois avoir besoin de gérer le nombre de décimales dans vos données. La fonction ROUND standard arrondit le nombre, ce qui peut ne pas être adapté à tous les scénarios. Dans cet article, nous allons explorer comment tronquer les décimales dans SQL Server sans les arrondir.

Le Problème : Arrondi vs. Tronquage

Imaginez que vous avez une valeur décimale comme 123.456, et que vous souhaitez la limiter à deux décimales. En utilisant les méthodes d’arrondi standard dans SQL Server, la valeur sera automatiquement ajustée à 123.46. Cependant, il y a des situations où vous souhaitez simplement supprimer les décimales supplémentaires, résultant en 123.45 à la place. C’est là que le tronquage devient essentiel.

Jetons un rapide coup d’œil à une valeur d’exemple :

DECLARE @value DECIMAL(18,2);
SET @value = 123.456;

Après avoir exécuté ce code avec un arrondi standard, @value deviendrait 123.46. Mais que faire si vous souhaitez la garder en tant que 123.45 ?

La Solution : Utiliser la Fonction ROUND

SQL Server fournit une puissante fonction ROUND qui peut vous aider à tronquer les décimales. La fonction nécessite trois paramètres :

  1. number : Il s’agit de la valeur décimale que vous souhaitez tronquer.
  2. decimals : Précisez combien de décimales vous souhaitez conserver.
  3. operation : Ce paramètre est optionnel. Définissez ce paramètre sur 0 pour arrondir le résultat ou sur une autre valeur (par exemple, 1) pour le tronquer.

Exemple d’Utilisation

Voici comment vous pouvez utiliser la fonction ROUND efficacement :

SELECT ROUND(123.456, 2, 1);

Dans ce cas, en utilisant 1 comme le troisième paramètre, la valeur sera tronquée à 123.45, au lieu d’être arrondie.

Compatibilité

La fonction ROUND avec des capacités de tronquage fonctionne dans les environnements suivants :

  • SQL Server (à partir de la version 2008)
  • Azure SQL Database
  • Azure SQL Data Warehouse
  • Parallel Data Warehouse

Pour plus de détails, vous pouvez vous référer à la documentation de W3Schools sur la fonction ROUND de SQL Server.

Conclusion

En utilisant la fonction ROUND avec les paramètres appropriés, vous pouvez facilement tronquer les décimales dans SQL Server sans arrondir vos valeurs. Cette méthode vous permet de garder un contrôle précis sur la présentation de vos données, tout en maintenant l’intégrité et la précision nécessaires pour vos besoins de projet spécifiques.

N’hésitez pas à essayer cette technique dans votre propre environnement SQL Server et assurez-vous que vos données sont formatées exactement comme vous en avez besoin !