Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Fonction SQL Server ROUND() :à quoi ça sert et pourquoi devriez-vous vous en soucier ?

SQL est un langage de programmation utilisé pour créer, lire, mettre à jour et supprimer des bases de données. Il possède l'une des fonctions les plus populaires pour arrondir les nombres, ce qui peut être très utile dans de nombreuses situations, telles que les calculs financiers ou l'analyse statistique. Cet article vous aidera à comprendre comment utiliser la fonction SQL Round dans vos requêtes et instructions de base de données.

Qu'est-ce que SQL Server ?

SQL Server est un système de gestion de base de données qui s'exécute sous Windows et offre une disponibilité, une évolutivité, une fiabilité et une sécurité élevées.

Des fonctions telles que ROUND permettent aux utilisateurs d'effectuer des tâches telles que la sauvegarde et la restauration de bases de données ou de fichiers, la surveillance des performances avec des requêtes, l'utilisation d'index pour améliorer la vitesse des requêtes, la gestion des paramètres de sécurité pour les utilisateurs et les rôles, la création de connexions pour un accès externe à une instance de SQL Server sur un réseau, etc.

Bien que la fonction ROUND ne soit pas aussi complexe ou difficile à mettre en œuvre que d'autres, elle est idéale pour commencer à apprendre !

Vous pouvez passer à des fonctions de serveur SQL plus complexes telles que STR, STUFF, SUBSTRING, UPPER, FLOOR, MAX et MIN plus tard.

SQL Server utilise également des fonctions avancées telles que ISNUMERIC, LAG, LEAD, NULLIF ou SESSION_USER.

Fonction SQL Server ROUND() :qu'est-ce que c'est ?

La fonction SQL Server ROUND () (favorisée par les développeurs utilisant SQL Server Data Tools ou SSDT en abrégé sur les projets Analysis Service, Reporting Service et Integration Service) est une conversion de type de données numériques.

Cette fonction accepte un paramètre qui peut être un nombre entier ou décimal et renvoie la valeur entière correspondante pour l'entrée donnée. Plus simple, la fonction SQL Server ROUND () arrondit le nombre à l'entier le plus proche.

Comment ça marche ?

La fonction SQL Server ROUND () a été conçue par Microsoft et peut être utilisée dans divers domaines, tels que les mathématiques, l'ingénierie, la finance, etc. Elle n'a aucune limite sur les valeurs d'entrée et arrondit toujours vers le haut ou vers le bas au nombre entier le plus proche sans fraction. Le sens d'arrondi par défaut est actif ce qui signifie qu'il va arrondir les nombres supérieurs à 0 vers le haut .

En fait, son utilisation est assez simple. Jetons un coup d'œil au tableau ci-dessous :

Planètes Rayon SoleilSaison
1 Mars 3396 687.58
2 Saturne 10759.22 10759.22
3 Neptune 24764 60190.91
4 Mercure 2439 115.18
5 Vénus 6051 234.56

Avec cet opérateur, nous arrondissons la colonne SunSeason à une décimale :

1 SELECT ROUND(SunSeason, 1) FROM Planets

SoleilSaison
687.5
10759.2
60190.9
115,8
243.5

Que diriez-vous d'un exemple plus intéressant ?

Imaginez que nous essayons de calculer la taille moyenne d'un disque dur de PC, obtenant le résultat 13,6666666666667. Pour arrondir ce résultat, nous pouvons utiliser la fonction ROUND :

SELECT round(AVG(hd),2) AS avg_hd FROM pc;

Le résultat est 13,67.

Vous pouvez personnaliser la fonction et modifier les paramètres :

SELECT round(AVG(hd),-1) AS avg_hd FROM pc;

Le résultat est 10.

Voici un exemple d'utilisation de paramètres négatifs avec ROUND :

Vous pouvez également utiliser cette fonction pour la troncature :

Voici un exemple d'utilisation de cette fonction avec les salaires des employés :

Quelles autres fonctions peuvent être combinées avec ROUND dans SQL Server ?

La fonction ROUND est un outil polyvalent qui peut être utilisé dans de nombreuses situations. Vous pouvez combiner de nombreuses fonctions avec ROUND dans SQL Server. Les voici :PLAFOND, PLANCHER, TRUNCATE, SQRT, MIN et MAX, MOD, POWER, SQUARE ROOT et LOG.

Quels sont les paramètres ?

ROUND() prend deux arguments :le premier est le nombre à arrondir, et le deuxième argument spécifie à combien de décimales il doit être arrondi.

La précision d'arrondi par défaut est 0, ce qui signifie que les nombres sont arrondis à un nombre entier. Vous pouvez ajuster les paramètres, voire ajouter des valeurs négatives.

Tapez ROND(5.6) dans votre fenêtre de requête et appuyez sur Entrée. La sortie sera 6 au lieu de 5 car vous avez arrondi au nombre entier supérieur (cela aurait été 7 si vous aviez spécifié "ROUND(5.7)").

Vous pouvez spécifier le nombre de décimales souhaité en ajoutant .n (où n est un entier positif).

Où puis-je l'utiliser ?

Cette petite fonction soignée fonctionne dans SQL Server (à partir de 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse.

Quels problèmes résout-il ?

Cette fonction est utile pour arrondir à un nombre spécifié de décimales et faciliter l'utilisation de vos données, mais ce n'est pas tout.

Il est également utilisé à des fins de création de rapports, car il arrondira les nombres dans les calculs agrégés tels que SUM(), AVG() ou COUNT().

Nous pouvons l'utiliser comme un outil de manipulation de chaînes qui convertit tous les caractères en lettres majuscules. En outre, il peut être utilisé conjointement avec des fonctions telles que SUBSTRING (), TRIM (), LENGTH () et LEFT ().

Puis-je utiliser ROUND dans MySQL ?

MySQL est un système de gestion de base de données relationnelle (RDMS) tout comme SQL Server, mais il est open-source et gratuit tandis que SQL Server est fourni avec une licence de Microsoft.

MySQL est l'une des bases de données les plus utilisées au monde. Il a été un leader dans les fonctionnalités clés telles que les transactions, les mécanismes de verrouillage, les modes de récupération, les méthodes de sécurité et l'évolutivité, etc.

Il existe un équivalent de la fonction Round dans MySQL appelé Truncate. Le script est le suivant :

 SELECT TRUNCATE(AVG(Salary),2)
   AS Avg_Salary
   FROM STAFF

Remarque :Les autres langues ont leurs fonctions respectives. Vous devez étudier leurs aspects avant le déploiement (en particulier les fonctions plus avancées que nous avons mentionnées). Rendez-nous visite pour trouver les réponses à vos questions.

Quelles autres langues utilise Round ?

Outre SQL Server, de nombreux langages utilisent la fonction ROUND, notamment Pascal C++ Matlab Apex, etc.

Résumé

Sauf si vous êtes vraiment en mathématiques, la fonction ROUND de SQL Server est plus fastidieuse qu'un vendeur de rideaux de l'Idaho. En fait, c'est terriblement ennuyeux. Il ne fait qu'une seule chose :il s'arrondit nombres.

Dans SQL Server, il arrondit un nombre donné à un entier en tronquant les chiffres après la virgule décimale jusqu'à ce qu'il ne reste qu'un seul chiffre avant d'arrondir vers le haut ou vers le bas selon les règles spécifiées.

Cette fonction n'est pas prise en charge dans tous les langages, mais elle existe dans beaucoup d'entre eux, tels que C# et VB.NET. Vous pouvez également utiliser ROUND pour convertir des nombres à virgule flottante en nombres entiers ainsi que des chaînes arrondies.