Volver a la lista de artículos Artículos
Lectura de 12 minutos

Funciones Numéricas de SQL

Revise todas las funciones numéricas de SQL, incluyendo sus definiciones y ejemplos.

Las funciones numéricas de SQL realizan operaciones con números. Toman uno o más números como argumentos y devuelven un número como salida. Note que los números pueden ser de diferentes tipos de datos, incluyendo enteros, dobles y flotantes. Puede obtener más información sobre los tipos de datos numéricos y decimales aquí.

Las funciones numéricas de SQL pueden dividirse en escalares y agregadas. Las funciones escalares calculan un resultado para cada fila de entrada individualmente. Por ejemplo, si se aplica la función ABS() a una columna, se obtiene el valor absoluto de cada fila de esa columna. Por otro lado, las funciones agregadas operan sobre valores de varias filas para producir un resultado; por ejemplo, si se aplica la función MAX() a una columna, se obtiene el valor más alto de todas las filas de esa columna.

Consulte nuestro curso sobre Funciones estándar de SQL que incluye ejercicios sobre este tipo de funciones:

  • Numéricas
  • Texto
  • Fecha y hora
  • Agregado

Complete los ejercicios para repasar y consolidar sus conocimientos, y luego póngalos a prueba con el cuestionario final.

Funciones Numéricas Escalares SQL

Las funciones numéricas escalares de SQL manipulan valores individuales - como una 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.

 

Las siguientes secciones presentan ejemplos para cada función.

Suma con +

El operador + devuelve el resultado de sumar dos números.

SELECT 3 + 2 AS sum;
sum
5

Resta con -

El operador - devuelve el resultado de restar dos números.

SELECT 3 - 2 AS difference;
difference
1

Consulte este artículo para obtener más información sobre cómo restar valores en SQL.

Multiplicación con *

El operador * devuelve el resultado de multiplicar dos números.

SELECT 3 * 2 AS product;
product
6

Sigue este artículo para aprender más sobre cómo multiplicar valores en SQL.

División con /

El operador / devuelve el resultado de dividir dos números.

SELECT 4 / 2 AS quotient;
quotient
2

Lee estos artículos para aprender más sobre:

ABS()

La función ABS() devuelve el valor absoluto de un número dado.

SELECT ABS(-9) AS abs;
abs
9

Consulta este artículo para saber más sobre cómo calcular un valor absoluto en SQL.

ACOS()

La función ACOS() toma un número entre -1 y 1 y devuelve el valor del coseno del arco en radianes.

SELECT ACOS(1) AS acos;
acos
0

ASIN()

La función ASIN() toma un número entre -1 y 1 y devuelve el valor del arco seno en radianes.

SELECT ASIN(0) AS asin;
asin
0

ATAN()

La función ATAN() devuelve el valor de la tangente del arco en radianes.

SELECT ATAN(0) AS atan;
atan
0

TECHO()

La función CEILING() devuelve el valor entero más pequeño que es mayor o igual que un número dado.

SELECT CEILING(5.5) AS ceiling;
ceiling
6

Lea este artículo para obtener más información sobre cómo redondear un número al entero más cercano en SQL.

COS()

La función COS() devuelve el valor del coseno en radianes.

SELECT COS(0) AS cos;
cos
1

COT()

La función COT() devuelve el valor de la cotangente en radianes.

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

GRADOS()

La función DEGREES() convierte un número dado de radianes a grados.

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

DIV()

La función DIV() devuelve el resultado de dividir dos números.

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

Consulte estos artículos para obtener más información sobre:

EXP()

La función EXP() devuelve e a la potencia de un número dado.

SELECT EXP(0) AS exp;
exp
1

SUELO()

La función FLOOR() devuelve el mayor valor entero menor o igual que un número dado.

SELECT FLOOR(5.5) AS floor;
floor
5

Lea este artículo para obtener más información sobre cómo reducir números en SQL.

MAYOR()

La función GREATEST() devuelve el mayor número de una lista dada.

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

MENOR()

La función LEAST() devuelve el número más pequeño de una lista dada.

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

LN()

La función LN() devuelve el logaritmo natural de un número dado.

SELECT LN(1) AS ln;
ln
0

LOG()

La función LOG() devuelve el logaritmo natural de un número dado.

SELECT LOG(1) AS log;
log
0

LOG10()

La función LOG10() devuelve el logaritmo en base 10 de un número dado.

SELECT LOG10(100) AS log10;
log10
2

MOD()

La función MOD() devuelve el resto de la división de dos números dados.

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

PI()

La función PI() devuelve el valor de π.

SELECT PI() AS pi;
pi
3.141592653589793

POTENCIA()

La función POWER() devuelve el primer número elevado a la potencia del segundo.

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

RADIANES()

La función RADIANS() convierte un número dado de grados a radianes.

SELECT RADIANS(180) AS radians;
radians
3.141592653589793

RAND() o RANDOM()

La función RAND() (o RANDOM()) devuelve un número aleatorio entre 0 (inclusive) y 1 (exclusive).

SELECT RAND() AS random;
random
0.5599700481846526

REDONDEAR()

La función ROUND() redondea un número dado a un número entero o a un número especificado de decimales.

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

Consulte estos artículos para obtener más información sobre cómo redondear números en SQL y cómo utilizar la función ROUND() en SQL.

SIGNO()

La función SIGN() devuelve -1 (si el argumento es un número negativo), 1 (si el argumento es un número positivo) o 0 (si el argumento es un cero), indicando el signo de un número dado.

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

SIN()

La función SIN() devuelve el valor del seno en radianes.

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

SQRT()

La función SQRT() devuelve el valor de la raíz cuadrada de un número dado.

SELECT SQRT(9) AS sqrt;
sqrt
3

Consulte este artículo para aprender a calcular una raíz cuadrada en SQL.

CUADRADO()

La función SQUARE() devuelve el valor al cuadrado de un número dado.

SELECT SQUARE(3) AS square;
square
9

Consulta este artículo para aprender a calcular un cuadrado en SQL.

TAN()

La función TAN() devuelve el valor de la tangente en radianes.

SELECT TAN(0) AS tan;
tan
0

TRUNC()

La función TRUNC() trunca un número dado hasta un número especificado de decimales.

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

Funciones agregadas

Las funciones de agregación realizan cálculos sobre un conjunto de números, tomando todos los valores de una columna y realizando cálculos basados en grupos de datos definidos.

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

 

En las siguientes secciones se presentan ejemplos de cada función utilizando la tabla de números:

categorynumber
A1
A2
A3
B4
B5
B6

AVG()

La función AVG() calcula la media de todos los valores de una columna determinada.

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

También puede devolver la media de cada grupo:

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

Lea estos artículos para ver:

CONTAR()

La función COUNT() devuelve el número de valores no nulos en una columna dada.

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

También devuelve el número de valores de un grupo:

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

Más información sobre esta función:

MAX()

La función MAX() devuelve el mayor número de una columna dada.

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

También devuelve el mayor valor por grupo:

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

Lea estos artículos para ver:

MIN()

La función MIN() devuelve el número más pequeño de una columna dada.

min
1

También devuelve el valor más pequeño por grupo:

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

Consulte estos artículos para obtener más información:

SUMA()

La función SUM() devuelve la suma de todos los valores de una columna dada.

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

También devuelve la suma de todos los valores de un grupo:

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

Revise estos artículos para ver:

Más Ayuda con Funciones Numéricas en SQL

SQL proporciona muchas funciones diferentes - funciones numéricas, funciones de texto, funciones de fecha y hora, y más. Para obtener más información sobre ellas, consulte nuestro libro de cocina SQL y los artículos de nuestro blog.

Además, echa un vistazo a esta hoja de trucos gratuita sobre funciones SQL. Puedes descargarla, imprimirla y tenerla a mano mientras trabajas y aprendes. Una vez más, te animo a que veas nuestro curso en Funciones estándar de SQL si realmente quieres practicar. ¡Feliz aprendizaje!