14th May 2024 Tempo di lettura: 13 minuti Funzioni numeriche di SQL Martyna Sławińska funzioni numeriche Indice Funzioni numeriche scalari SQL Addizione con + Sottrazione con - Moltiplicazione con * Divisione con / ABS() ACOS() ASIN() ATAN() MASSIMALE() COS() COT() GRADI() DIV() EXP() PIANO() PIÙ GRANDE() MINIMO() LN() LOG() LOG10() MOD() PI() POTENZA() RADIANTI() RAND() o RANDOM() ARROTONDA() SEGNO() SIN() SQRT() QUADRATO() TAN() TRONCO() Funzioni aggregate AVG() CONTO() MAX() MIN() SOMMA() Altre informazioni sulle funzioni numeriche di SQL Esaminate tutte le funzioni numeriche di SQL, comprese le definizioni e gli esempi. Le funzioni numeriche di SQL eseguono operazioni sui numeri. Prendono uno o più numeri come argomenti e restituiscono un numero come output. I numeri possono essere di diversi tipi di dati, tra cui interi, doppi e float. Per saperne di più sui tipi di dati numerici e decimali, consultare questa pagina. Le funzioni numeriche di SQL possono essere suddivise in funzioni scalari e aggregate. Le funzioni scalari calcolano un risultato per ogni singola riga di input. Ad esempio, applicando la funzione ABS() a una colonna si ottiene il valore assoluto per ogni riga di quella colonna. Le funzioni aggregate, invece, operano sui valori di più righe per produrre un risultato: ad esempio, applicando la funzione MAX() a una colonna si ottiene il valore più alto tra tutte le righe di quella colonna. Consultate il nostro corso su Funzioni SQL standard che include esercizi su questi tipi di funzioni: Numerico Testo Data e ora Aggregato Completate gli esercizi per rivedere e consolidare le vostre conoscenze, quindi mettetele alla prova con il quiz finale. Funzioni numeriche scalari SQL Le funzioni numeriche scalari di SQL manipolano singoli valori, proprio come una calcolatrice. Function Description Further reading + → Takes two numbers. ← Adds the numbers and returns the result. - → Takes two numbers. ← Subtracts the numbers and returns the result. * How to subtract values in SQL * → Takes two numbers. ← Multiplies the numbers and returns the result. * How to multiply values in SQL / → Takes two numbers. ← Divides the numbers and returns the result. * How the division operator works in SQL * How to handle division by zero in SQL * How to divide columns in MySQL or Oracle * How to divide columns in SQL Server, PostgreSQL, or SQLite ABS() → Takes one number. ← Returns the absolute value of the number. * How to compute an absolute value in SQL ACOS() → Takes a number between -1 and 1. ← Returns the arc cosine value in radians. ASIN() → Takes a number between -1 and 1. ← Returns the arc sine value in radians. ATAN() → Takes one number. ← Returns the arc tangent value in radians. CEILING() → Takes one number. ← Returns the smallest integer value that is greater than or equal to the number. * How to round up a number to the nearest integer in SQL COS() → Takes one number. ← Returns the cosine value in radians. COT() → Takes one number. ← Returns the cotangent value in radians. DEGREES() → Takes a number in radians. ← Converts it to degrees and returns the result. DIV() → Takes two numbers. ← Divides the numbers and returns the result. * How to handle division by zero in SQL * How to divide columns in MySQL or Oracle * How to divide columns in SQL Server, PostgreSQL, or SQLite EXP() → Takes one number. ← Calculates e to the power of the number and returns the result. FLOOR() → Takes one number. ← Returns the greatest integer value that is less than or equal to the number. * How to floor numbers in SQL GREATEST() → Takes a list of numbers. ← Returns the greatest number. LEAST() → Takes a list of numbers. ← Returns the smallest number. LN() → Takes one number. ← Returns the natural logarithm of the number. LOG() → Takes one number. ← Returns the natural logarithm of the number. LOG10() → Takes one number. ← Returns the base 10 logarithm of the number. MOD() → Takes two numbers. ← Divides the numbers and returns the remainder value (the modulus). *How to get a remainder using MOD() in PostgreSQL, MS SQL Server, and MySQL PI() → Takes no arguments. ← Returns the value of π. POWER() → Takes two numbers. ← Raises the 1st number to the power of the 2nd number and returns the result. RADIANS() → Takes a number in degrees. ← Converts it to radians and returns the result. RAND() → Takes no arguments. ← Returns a random number between 0 (inclusive) and 1 (exclusive). ROUND() → Takes one or two numbers. ← Rounds the 1st number to an integer or to as many decimal places as indicated by the 2nd number and returns the result. * How to round numbers in SQL * How to use the ROUND() function in SQL SIGN() → Takes one number. ← Returns a positive or negative number indicating the sign of the number. SIN() → Takes one number. ← Returns the sine value in radians. SQRT() → Takes one number. ← Returns the square root value of the number. * How to calculate a square root in SQL SQUARE() → Takes one number. ← Returns the squared value of the number. * How to calculate a square in SQL TAN() → Takes one number. ← Returns the tangent value in radians. TRUNC() → Takes two numbers. ← Truncates the 1st number to as many decimal places as indicated by the 2nd number and returns the result. Le sezioni seguenti presentano esempi per ciascuna funzione. Addizione con + L'operatore + restituisce il risultato dell'addizione di due numeri. SELECT 3 + 2 AS sum; sum 5 Sottrazione con - L'operatore - restituisce il risultato della sottrazione di due numeri. SELECT 3 - 2 AS difference; difference 1 Consultate questo articolo per saperne di più su come sottrarre valori in SQL. Moltiplicazione con * L'operatore * restituisce il risultato della moltiplicazione di due numeri. SELECT 3 * 2 AS product; product 6 Seguite questo articolo per saperne di più su come moltiplicare i valori in SQL. Divisione con / L'operatore / restituisce il risultato della divisione di due numeri. SELECT 4 / 2 AS quotient; quotient 2 Leggete questi articoli per saperne di più: Come funziona l'operatore di divisione in SQL. Come gestire la divisione per zero in SQL. Come dividere le colonne in MySQL o Oracle. Come dividere le colonne in SQL Server, PostgreSQL o SQLite. ABS() La funzione ABS() restituisce il valore assoluto di un dato numero. SELECT ABS(-9) AS abs; abs 9 Consultate questo articolo per saperne di più su come calcolare un valore assoluto in SQL. ACOS() La funzione ACOS() prende un numero compreso tra -1 e 1 e restituisce il valore del coseno dell'arco in radianti. SELECT ACOS(1) AS acos; acos 0 ASIN() La funzione ASIN() prende un numero compreso tra -1 e 1 e restituisce il valore del seno dell'arco in radianti. SELECT ASIN(0) AS asin; asin 0 ATAN() La funzione ATAN() restituisce il valore della tangente dell'arco in radianti. SELECT ATAN(0) AS atan; atan 0 MASSIMALE() La funzione CEILING() restituisce il più piccolo valore intero maggiore o uguale a un dato numero. SELECT CEILING(5.5) AS ceiling; ceiling 6 Leggete questo articolo per saperne di più su come arrotondare un numero al numero intero più vicino in SQL. COS() La funzione COS() restituisce il valore del coseno in radianti. SELECT COS(0) AS cos; cos 1 COT() La funzione COT() restituisce il valore della cotangente in radianti. SELECT COT(PI()/2) AS cot; cot 0 GRADI() La funzione DEGREES() converte un dato numero da radianti a gradi. SELECT DEGREES(PI()) AS degrees; degrees 180 DIV() La funzione DIV() restituisce il risultato della divisione di due numeri. SELECT DIV(4, 2) AS div; div 2 Consultate questi articoli per saperne di più: Come gestire la divisione per zero in SQL. Come dividere le colonne in MySQL o Oracle. Come dividere le colonne in SQL Server, PostgreSQL o SQLite. Come funziona l'operatore di divisione in SQL. EXP() La funzione EXP() restituisce e alla potenza di un numero dato. SELECT EXP(0) AS exp; exp 1 PIANO() La funzione FLOOR() restituisce il più grande valore intero minore o uguale a un dato numero. SELECT FLOOR(5.5) AS floor; floor 5 Leggete questo articolo per saperne di più su come calcolare i numeri in SQL. PIÙ GRANDE() La funzione GREATEST() restituisce il numero più grande di un elenco dato. SELECT GREATEST(1, 2, 3, 4, 5) AS greatest; greatest 5 MINIMO() La funzione LEAST() restituisce il numero più piccolo di un elenco dato. SELECT LEAST(1, 2, 3, 4, 5) AS least; least 1 LN() La funzione LN() restituisce il logaritmo naturale di un dato numero. SELECT LN(1) AS ln; ln 0 LOG() La funzione LOG() restituisce il logaritmo naturale di un dato numero. SELECT LOG(1) AS log; log 0 LOG10() La funzione LOG10() restituisce il logaritmo in base 10 di un dato numero. SELECT LOG10(100) AS log10; log10 2 MOD() La funzione MOD() restituisce il resto della divisione di due numeri dati. SELECT MOD(5, 2) AS mod; mod 1 PI() La funzione PI() restituisce il valore di π. SELECT PI() AS pi; pi 3.141592653589793 POTENZA() La funzione POWER() restituisce il primo numero dato elevato a potenza del secondo numero dato. SELECT POWER(2, 3) AS power; power 8 RADIANTI() La funzione RADIANS() converte un numero dato da gradi a radianti. SELECT RADIANS(180) AS radians; radians 3.141592653589793 RAND() o RANDOM() La funzione RAND() (o RANDOM()) restituisce un numero casuale compreso tra 0 (incluso) e 1 (esclusivo). SELECT RAND() AS random; random 0.5599700481846526 ARROTONDA() La funzione ROUND() arrotonda un dato numero a un numero intero o a un numero specifico di cifre decimali. SELECT ROUND(5.4) AS round; round 5 SELECT ROUND(5.6) AS round; round 6 SELECT ROUND(5.4567, 2) AS round; round 5.46 Consultate questi articoli per saperne di più su come arrotondare i numeri in SQL e su come utilizzare la funzione ROUND() in SQL. SEGNO() La funzione SIGN() restituisce -1 (se l'argomento è un numero negativo), 1 (se l'argomento è un numero positivo) o 0 (se l'argomento è uno zero), indicando il segno di un dato numero. SELECT SIGN(-3) AS sign; sign -1 SELECT SIGN(3) AS sign; sign 1 SIN() La funzione SIN() restituisce il valore del seno in radianti. SELECT SIN(PI()) AS sin; sin 0 SQRT() La funzione SQRT() restituisce il valore della radice quadrata di un dato numero. SELECT SQRT(9) AS sqrt; sqrt 3 Per sapere come calcolare una radice quadrata in SQL, consultare questo articolo. QUADRATO() La funzione SQUARE() restituisce il valore al quadrato di un dato numero. SELECT SQUARE(3) AS square; square 9 Seguite questo articolo per saperne di più su come calcolare un quadrato in SQL. TAN() La funzione TAN() restituisce il valore della tangente in radianti. SELECT TAN(0) AS tan; tan 0 TRONCO() La funzione TRUNC() tronca un dato numero a un numero specificato di cifre decimali. SELECT TRUNC(12.345, 1) AS trunc; trunc 12.3 Funzioni aggregate Le funzioni aggregate eseguono calcoli su un insieme di numeri, prendendo tutti i valori di una colonna ed eseguendo calcoli basati su gruppi definiti di dati. Aggregate function Description Further reading AVG() → Takes a column of a numeric data type. ← Returns the average of all numbers. * How to find the average of a numeric column in SQL * The SQL AVG() function explained with examples * How to filter records with AVG COUNT() → Takes a column of a numeric data type. ← Returns the number of rows. *A detailed guide to the SQL COUNT() function *What is the difference between COUNT(*), COUNT(column), and COUNT(DISTINCT)? *How to use COUNT() with GROUP BY *How to count distinct values in SQL * How to count the number of rows in a table in SQL *How to filter records with COUNT MAX() → Takes a column of a numeric data type. ← Returns the greatest number. *SQL MIN() and MAX() functions explained in 6 examples *How to find the maximum value of a numeric column in SQL * How to find rows with the maximum value MIN() → Takes a column of a numeric data type. ← Returns the smallest number. *SQL MIN() and MAX() functions explained in 6 examples *How to find the minimum value of a column in SQL *How to find rows with the minimum value SUM() → Takes a column of a numeric data type. ← Returns the sum of all numbers. *SQL SUM() function explained with 5 practical examples *How to use SUM() with GROUP BY *How to sum values in a column in SQL *How to filter records with SUM Le sezioni seguenti presentano esempi di ciascuna funzione utilizzando la tabella dei numeri: categorynumber A1 A2 A3 B4 B5 B6 AVG() La funzione AVG() calcola la media di tutti i valori di una determinata colonna. SELECT AVG(number) AS avg FROM numbers; avg 3.5 Può anche restituire la media di ciascun gruppo: SELECT category, AVG(number) AS avg FROM numbers GROUP BY category; categoryavg A2 B5 Leggete questi articoli per vedere: Altri esempi della funzione AVG(). Come trovare la media di una colonna numerica in SQL. Come filtrare i record con AVG. CONTO() La funzione COUNT() restituisce il numero di valori non nulli in una determinata colonna. SELECT COUNT(number) AS count FROM numbers; count 6 Restituisce anche il numero di valori in un gruppo: SELECT category, COUNT(number) AS count FROM numbers GROUP BY category; categorycount A3 B3 Ulteriori informazioni su questa funzione: Guida dettagliata alla funzione SQL COUNT() Come contare il numero di righe in una tabella in SQL Qual è la differenza tra COUNT(*), COUNT(colonna) e COUNT(DISTINCT)? Come utilizzare COUNT() con GROUP BY Come contare i valori distinti in SQL Come filtrare i record con COUNT Come ordinare per conteggio in SQL MAX() La funzione MAX() restituisce il numero maggiore di una determinata colonna. SELECT MAX(number) AS max FROM numbers; max 6 Restituisce anche il valore più grande per gruppo: SELECT category, MAX(number) AS max FROM numbers GROUP BY category; categorymax A3 B6 Leggete questi articoli per vedere: Altri esempi della funzione MAX(). Come trovare il valore massimo di una colonna numerica in SQL. Come trovare le righe con il valore massimo. MIN() La funzione MIN() restituisce il numero più piccolo di una determinata colonna. min 1 Restituisce anche il valore più piccolo per gruppo: SELECT category, MIN(number) AS min FROM numbers GROUP BY category; categorymin A1 B4 Per ulteriori informazioni, consultate questi articoli: Altri esempi della funzione MIN(). Come trovare il valore minimo di una colonna in SQL. Come trovare le righe con il valore minimo. SOMMA() La funzione SUM() restituisce la somma di tutti i valori di una determinata colonna. SELECT SUM(number) AS sum FROM numbers; sum 21 Restituisce anche la somma di tutti i valori di un gruppo: SELECT category, SUM(number) AS sum FROM numbers GROUP BY category; categorysum A6 B15 Rivedete questi articoli per vedere: Altri esempi della funzione SUM(). Come usare SUM() con GROUP BY. Come sommare i valori di una colonna in SQL. Come filtrare i record con SUM. Come ordinare le righe per somma di gruppi in SQL. Altre informazioni sulle funzioni numeriche di SQL SQL offre molte funzioni diverse: funzioni numeriche, funzioni di testo, funzioni di data e ora e altre ancora. Per ulteriori informazioni, consultate il nostro ricettario SQL e gli articoli del nostro blog. Inoltre, date un'occhiata a questo foglio informativo gratuito sulle funzioni SQL. Potete scaricarlo, stamparlo e tenerlo a portata di mano mentre lavorate e imparate. Ancora una volta, vi invito a consultare il nostro corso su Funzioni SQL standard se volete davvero fare un po' di pratica. Buon apprendimento! Tags: funzioni numeriche