Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Funzione SQL Server ROUND():a cosa serve e perché dovrebbe interessarti?

SQL è un linguaggio di programmazione utilizzato per creare, leggere, aggiornare ed eliminare database. Ha una delle funzioni più popolari per arrotondare i numeri, che può essere molto utile in molte situazioni, come calcoli finanziari o analisi statistiche. Questo articolo ti aiuterà a capire come utilizzare la funzione SQL Round nelle query e nelle istruzioni del database.

Cos'è SQL Server?

SQL Server è un sistema di gestione di database che viene eseguito su Windows e offre disponibilità elevata, scalabilità, affidabilità e sicurezza.

Funzioni come ROUND consentono agli utenti di completare attività come il backup e il ripristino di database o file, il monitoraggio delle prestazioni con le query, l'utilizzo di indici per migliorare la velocità delle query, la gestione delle impostazioni di sicurezza per utenti e ruoli, la creazione di accessi per l'accesso esterno a un'istanza di SQL Server su una rete e così via.

Anche se la funzione ROUND potrebbe non essere così complessa o difficile da implementare come altre, è ottima per iniziare ad imparare!

Puoi passare a funzioni del server SQL più complicate come STR, STUFF, SUBSTRING, UPPER, FLOOR, MAX e MIN in seguito.

SQL Server utilizza anche funzioni avanzate come ISNUMERIC, LAG, LEAD, NULLIF o SESSION_USER.

Funzione ROUND() di SQL Server:che cos'è?

La funzione ROUND () di SQL Server (preferita dagli sviluppatori che utilizzano SQL Server Data Tools o SSDT in breve su progetti Analysis Service, Reporting Service e Integration Service) è una conversione del tipo di dati numerici.

Questa funzione accetta un parametro che può essere un numero intero o decimale e restituisce il valore intero corrispondente per l'input specificato. In parole povere, la funzione ROUND() di SQL Server arrotonda il numero all'intero più vicino.

Come funziona?

La funzione ROUND () di SQL Server è stata progettata da Microsoft e può essere utilizzata in vari campi, come matematica, ingegneria, finanza, ecc. Non ha limiti sui valori di input e arrotonda sempre per eccesso o per difetto al numero intero più vicino senza frazioni. La direzione di arrotondamento predefinita è in aumento il che significa che arrotonda per eccesso i numeri maggiori di 0 .

In effetti, usarlo è abbastanza semplice. Diamo un'occhiata alla tabella seguente:

Pianeti Raggio Stagione solare
1 Marte 3396 687.58
2 Saturno 10759.22 10759.22
3 Nettuno 24764 60190.91
4 Mercurio 2439 115.18
5 Venere 6051 234,56

Con questo operatore arrotondiamo la colonna SunSeason a un decimale:

1 SELEZIONA ROUND(SunSeason, 1) DA Pianeti

Stagione solare
687.5
10759.2
60190.9
115.8
243.5

Che ne dici di un esempio più interessante?

Immagina di provare a calcolare la dimensione media del disco rigido di un PC, ottenendo il risultato 13.66666666666667. Per arrotondare questo risultato, possiamo usare la funzione ROUND:

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

Il risultato è 13.67.

Puoi personalizzare la funzione e modificare i parametri:

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

Il risultato è 10.

Ecco un esempio di utilizzo di parametri negativi con ROUND:

Puoi anche usare questa funzione per il troncamento:

Ecco un esempio di utilizzo di questa funzione con gli stipendi dei dipendenti:

Quali altre funzioni possono essere combinate con ROUND in SQL Server?

La funzione ROUND è uno strumento versatile che può essere utilizzato in molte situazioni. È possibile combinare molte funzioni con ROUND in SQL Server. Eccoli:SOFFITTO, PAVIMENTO, TRUNCATE, SQRT, MIN e MAX, MOD, POWER, SQUARE ROOT e LOG.

Quali sono i parametri?

ROUND() accetta due argomenti:il primo è il numero da arrotondare e il secondo argomento specifica a quante cifre decimali deve essere arrotondato.

La precisione di arrotondamento predefinita è 0, il che significa che i numeri vengono arrotondati a un numero intero. Puoi regolare i parametri, anche aggiungere valori negativi.

Digita ROUND(5.6) nella finestra della query e premi Invio. L'output sarà 6 anziché 5 perché hai arrotondato per eccesso al numero intero successivo (questo sarebbe stato 7 se avessi specificato "ROUND(5.7)").

Puoi specificare il numero desiderato di cifre decimali aggiungendo .n (dove n è un numero intero positivo).

Dove posso usarlo?

Questa piccola e ordinata funzione funziona in SQL Server (a partire dal 2008), Database SQL di Azure, Azure SQL Data Warehouse, Parallel Data Warehouse.

Quali problemi risolve?

Questa funzione è utile per arrotondare a un numero specificato di cifre decimali e semplificare l'utilizzo dei dati, ma non è tutto ciò che può fare.

Viene anche utilizzato a scopo di creazione di rapporti perché arrotonda i numeri in calcoli aggregati come SUM(), AVG() o COUNT().

Possiamo usarlo come strumento di manipolazione delle stringhe che converte tutti i caratteri in lettere maiuscole. Inoltre, può essere utilizzato insieme a funzioni come SUBSTRING(), TRIM(), LENGTH() e LEFT().

Posso usare ROUND in MySQL?

MySQL è un sistema di gestione di database relazionali (RDMS) proprio come SQL Server, ma è open source e gratuito mentre SQL Server viene fornito con una licenza di Microsoft.

MySQL è uno dei database più utilizzati al mondo. È stato un leader in funzionalità chiave come transazioni, meccanismi di blocco, modalità di ripristino, metodi di sicurezza e scalabilità, ecc.

Esiste un equivalente della funzione Round in MySQL chiamato Troncate. Lo script è il seguente:

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

Nota:le altre lingue hanno le rispettive funzioni. Dovresti studiare i loro aspetti prima dell'implementazione (soprattutto le funzioni più avanzate che abbiamo menzionato). Venite a trovarci per trovare le risposte alle vostre domande.

Quali altre lingue utilizza Round?

Esistono molti linguaggi oltre a SQL Server che utilizzano la funzione ROUND, incluso Pascal C++ Matlab Apex e così via.

Riepilogo

A meno che tu non sia veramente in Math, la funzione ROUND di SQL Server è più noiosa di un venditore di tende dell'Idaho. In effetti, è terribilmente noioso. Fa solo 1 cosa:arrotonda numeri.

In SQL Server, arrotonda un determinato numero a un numero intero troncando le cifre dopo il punto decimale finché non rimane solo una cifra prima di arrotondare per eccesso o per difetto in base alle regole specificate.

Questa funzione non è supportata in tutti i linguaggi, ma esiste in molti di essi, come C# e VB.NET. Puoi anche utilizzare ROUND per convertire i numeri in virgola mobile in numeri interi e per arrotondare le stringhe.