1. Función ABS():
ABS(X) es una función matemática utilizada para obtener el valor absoluto de un número.
Sintaxis –
ABS(X)
La función ABS(X) toma un argumento numérico X y devuelve su magnitud.
SELECT ABS(-6);
Producción –
6
Si el argumento X es un blob o una string, la función da 0.0 como valor de retorno
SELECT ABS('gfg');
Producción –
0.0
Si el argumento X es NULL, la función devuelve NULL.
SELECT ABS(NULL);
Producción –
NULL
2. Función AVG():
AVG(X) es una función agregada utilizada para calcular el promedio en un conjunto de filas.
Sintaxis –
AVG(X)
La función produce un valor de punto flotante igual al promedio de todos los valores NO NULOS en el grupo de argumentos X.
SELECT AVG(1,2,3,4,5,6,7)
Producción –
4.0
Si se pasa un valor NULL a la función AVG(), solo se utilizan los valores que no son NULL para calcular el promedio.
SELECT AVG(10,20,30,NULL);
Producción –
20.0
Las strings y los blobs presentes en el argumento X se evalúan como 0.
SELECT AVG(10,20,'word',30,);
Producción –
20.0
La función devuelve NULL si todos los valores de entrada son NULL.
SELECT AVG(NULL,NULL,NULL);
Producción –
NULL
Ahora, vamos a usar un ejemplo de base de datos real. Primero, creemos una tabla llamada estudiantes con las columnas nombre y edad e insertemos algunas filas.
--create a table CREATE TABLE students( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255), age INT); --insert multiple rows INSERT INTO students(name,age) VALUES ('Mark',20), ('Mary',19), ('John',17), ('Lydia',25);
Luego, escribiremos una declaración SELECT que nos proporcione la edad promedio de todos los estudiantes que usan la función AVG()
SELECT AVG(age) FROM students;
Producción –
20.25
A continuación, crearemos una declaración SELECT que devuelva la diferencia de edad entre cada estudiante y un nuevo estudiante Tony que tiene 18 años.
SELECT name, age, ABS(age-18) AS age_difference_against_Tony FROM students;
Producción –
Publicación traducida automáticamente
Artículo escrito por cse1604310056 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA