Voltar para a lista de artigos Artigos
13 minutos de leitura

Funções numéricas do SQL

Analise todas as funções numéricas do SQL, incluindo suas definições e exemplos.

As funções numéricas do SQL realizam operações em números. Elas recebem um ou mais números como argumentos e retornam um número como saída. Observe que os números podem ser de diferentes tipos de dados, inclusive inteiros, duplos e flutuantes. Você pode saber mais sobre os tipos de dados numéricos e decimais aqui.

As funções numéricas do SQL podem ser divididas em funções escalares e agregadas. As funções escalares calculam um resultado para cada linha de entrada individualmente. Por exemplo, a aplicação da função ABS() a uma coluna produz o valor absoluto de cada linha dentro dessa coluna. Por outro lado, as funções agregadas operam em valores de várias linhas para produzir um resultado - por exemplo, a aplicação da função MAX() a uma coluna produz o valor mais alto entre todas as linhas dessa coluna.

Confira nosso curso sobre Funções Comuns em SQL que inclui exercícios sobre esses tipos de funções:

  • Numérica
  • Texto
  • Data e hora
  • Agregado

Conclua os exercícios para revisar e consolidar seus conhecimentos e, em seguida, teste-os com o questionário final.

Funções numéricas SQL escalares

As funções numéricas escalares do SQL manipulam valores individuais, de forma semelhante a uma calculadora.

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.

 

As seções a seguir apresentam exemplos de cada função.

Adição com +

O operador + retorna o resultado da adição de dois números.

SELECT 3 + 2 AS sum;
sum
5

Subtração com -

O operador - retorna o resultado da subtração de dois números.

SELECT 3 - 2 AS difference;
difference
1

Consulte este artigo para saber mais sobre como subtrair valores no SQL.

Multiplicação com *

O operador * retorna o resultado da multiplicação de dois números.

SELECT 3 * 2 AS product;
product
6

Siga este artigo para saber mais sobre como multiplicar valores em SQL.

Divisão com /

O operador / retorna o resultado da divisão de dois números.

SELECT 4 / 2 AS quotient;
quotient
2

Leia estes artigos para saber mais sobre:

ABS()

A função ABS() retorna o valor absoluto de um determinado número.

SELECT ABS(-9) AS abs;
abs
9

Confira este artigo para saber mais sobre como calcular um valor absoluto no SQL.

ACOS()

A função ACOS() usa um número entre -1 e 1 e retorna o valor do arco cosseno em radianos.

SELECT ACOS(1) AS acos;
acos
0

ASIN()

A função ASIN() usa um número entre -1 e 1 e retorna o valor do arco seno em radianos.

SELECT ASIN(0) AS asin;
asin
0

ATAN()

A função ATAN() retorna o valor do arco tangente em radianos.

SELECT ATAN(0) AS atan;
atan
0

CEILING()

A função CEILING() retorna o menor valor inteiro que é maior ou igual a um determinado número.

SELECT CEILING(5.5) AS ceiling;
ceiling
6

Leia este artigo para saber mais sobre como arredondar um número para o inteiro mais próximo no SQL.

COS()

A função COS() retorna o valor do cosseno em radianos.

SELECT COS(0) AS cos;
cos
1

COT()

A função COT() retorna o valor da cotangente em radianos.

SELECT COT(PI()/2) AS cot;
cot
0

DEGREES()

A função DEGREES() converte um determinado número de radianos para graus.

SELECT DEGREES(PI()) AS degrees;
degrees
180

DIV()

A função DIV() retorna o resultado da divisão de dois números.

SELECT DIV(4, 2) AS div;
div
2

Consulte estes artigos para saber mais sobre:

EXP()

A função EXP() retorna e à potência de um determinado número.

SELECT EXP(0) AS exp;
exp
1

FLOOR()

A função FLOOR() retorna o maior valor inteiro que é menor ou igual a um determinado número.

SELECT FLOOR(5.5) AS floor;
floor
5

Leia este artigo para saber mais sobre como fazer o piso de números no SQL.

GREATEST()

A função GREATEST() retorna o maior número de uma determinada lista.

SELECT GREATEST(1, 2, 3, 4, 5) AS greatest;
greatest
5

MENOR()

A função LEAST() retorna o menor número de uma determinada lista.

SELECT LEAST(1, 2, 3, 4, 5) AS least;
least
1

LN()

A função LN() retorna o logaritmo natural de um determinado número.

SELECT LN(1) AS ln;
ln
0

LOG()

A função LOG() retorna o logaritmo natural de um determinado número.

SELECT LOG(1) AS log;
log
0

LOG10()

A função LOG10() retorna o logaritmo de base 10 de um determinado número.

SELECT LOG10(100) AS log10;
log10
2

MOD()

A função MOD() retorna o resto da divisão de dois números determinados.

SELECT MOD(5, 2) AS mod;
mod
1

PI()

A função PI() retorna o valor de π.

SELECT PI() AS pi;
pi
3.141592653589793

POWER()

A função POWER() retorna o primeiro número dado elevado à potência do segundo número dado.

SELECT POWER(2, 3) AS power;
power
8

RADIANS()

A função RADIANS() converte um determinado número de graus para radianos.

SELECT RADIANS(180) AS radians;
radians
3.141592653589793

RAND() ou RANDOM()

A função RAND() (ou RANDOM()) retorna um número aleatório entre 0 (inclusive) e 1 (exclusivo).

SELECT RAND() AS random;
random
0.5599700481846526

ROUND()

A função ROUND() arredonda um determinado número para um número inteiro ou para um número especificado de casas decimais.

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

Confira estes artigos para saber mais sobre como arredondar números no SQL e como usar a função ROUND() no SQL.

SIGN()

A função SIGN() retorna -1 (se o argumento for um número negativo), 1 (se o argumento for um número positivo) ou 0 (se o argumento for um zero), indicando o sinal de um determinado número.

SELECT SIGN(-3) AS sign;
sign
-1
SELECT SIGN(3) AS sign;
sign
1

SIN()

A função SIN() retorna o valor do seno em radianos.

SELECT SIN(PI()) AS sin;
sin
0

SQRT()

A função SQRT() retorna o valor da raiz quadrada de um determinado número.

SELECT SQRT(9) AS sqrt;
sqrt
3

Consulte este artigo para saber como calcular uma raiz quadrada no SQL.

SQUARE()

A função SQUARE() retorna o valor ao quadrado de um determinado número.

SELECT SQUARE(3) AS square;
square
9

Siga este artigo para saber mais sobre como calcular um quadrado em SQL.

TAN()

A função TAN() retorna o valor da tangente em radianos.

SELECT TAN(0) AS tan;
tan
0

TRUNC()

A função TRUNC() trunca um determinado número em um número especificado de casas decimais.

SELECT TRUNC(12.345, 1) AS trunc;
trunc
12.3

Funções agregadas

As funções agregadas realizam cálculos em um conjunto de números, pegando todos os valores de uma coluna e realizando cálculos com base em grupos definidos de dados.

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

 

As seções a seguir apresentarão exemplos de cada função usando a tabela de números:

categorynumber
A1
A2
A3
B4
B5
B6

AVG()

A função AVG() calcula a média de todos os valores de uma determinada coluna.

SELECT AVG(number) AS avg
FROM numbers;
avg
3.5

Ela também pode retornar a média de cada grupo:

SELECT category, AVG(number) AS avg
FROM numbers
GROUP BY category;
categoryavg
A2
B5

Leia estes artigos para ver:

COUNT()

A função COUNT() retorna o número de valores não nulos em uma determinada coluna.

SELECT COUNT(number) AS count
FROM numbers;
count
6

Ela também retorna o número de valores em um grupo:

SELECT category, COUNT(number) AS count
FROM numbers
GROUP BY category;
categorycount
A3
B3

Leitura adicional sobre essa função:

MAX()

A função MAX() retorna o maior número de uma determinada coluna.

SELECT MAX(number) AS max
FROM numbers;
max
6

Ela também retorna o maior valor por grupo:

SELECT category, MAX(number) AS max
FROM numbers
GROUP BY category;
categorymax
A3
B6

Leia estes artigos para ver:

MIN()

A função MIN() retorna o menor número de uma determinada coluna.

min
1

Ela também retorna o menor valor por grupo:

SELECT category, MIN(number) AS min
FROM numbers
GROUP BY category;
categorymin
A1
B4

Consulte estes artigos para obter mais informações:

SUM()

A função SUM() retorna a soma de todos os valores de uma determinada coluna.

SELECT SUM(number) AS sum
FROM numbers;
sum
21

Ela também retorna a soma de todos os valores em um grupo:

SELECT category, SUM(number) AS sum
FROM numbers
GROUP BY category;
categorysum
A6
B15

Leia estes artigos para ver:

Mais ajuda com as funções numéricas do SQL

O SQL oferece muitas funções diferentes: funções numéricas, funções de texto, funções de data e hora, entre outras. Para obter mais informações sobre elas, consulte nosso livro de receitas SQL e os artigos do nosso blog.

Além disso, confira esta folha de consulta gratuita sobre funções SQL. Você pode baixá-la, imprimi-la e mantê-la à mão enquanto trabalha e aprende. Mais uma vez, recomendo que você confira nosso curso sobre Funções Comuns em SQL se você realmente quiser praticar um pouco. Bom aprendizado!