Torna all'elenco degli articoli Articoli
Tempo di lettura: 13 minuti

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ù:

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ù:

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:

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:

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:

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:

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:

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!