Las funciones en SQL son operaciones predefinidas que se utilizan para procesar o transformar los datos de una base de datos. Se utilizan en combinación con la sentencia SELECT y otras sentencias para calcular valores, realizar operaciones matemáticas, manipular cadenas de texto, convertir tipos de datos, entre otras operaciones.
- ABS. Se utiliza para obtener el valor absoluto de un número. El valor absoluto de un número es el mismo número sin signo, es decir, sin importar si es positivo o negativo. Por ejemplo, el valor absoluto de 5 es 5, mientras que el valor absoluto de -5 también es 5.
- ROUND. En SQL se utiliza para redondear un número a un cierto número de dígitos decimales.
- INIPCAP. Pone en mayúsculas el primer carácter de la cadena que nos devuelva y el resto en minusculas.
- UPPER. Se utiliza para convertir todas las letras de una cadena de texto a mayúsculas. Esta función es útil cuando se quiere realizar operaciones de comparación o búsqueda en una tabla y asegurarse de que todos los valores estén en mayúsculas para evitar errores.
- SUBSTR. Se utiliza en SQL para extraer una parte de una cadena de texto. Esta función es útil cuando se desea obtener una parte específica de una cadena de texto, como por ejemplo una palabra.
Son funciones que se utilizan para manipular y trabajar con datos de tipo cadena de caracteres. Algunos ejemplos de funciones de caracteres comunes en SQL son,
- CONCAT. Se utiliza para concatenar dos o más cadenas de texto en una sola cadena. Esta función es útil cuando se desea combinar varias cadenas de texto en una sola para luego utilizarla en una consulta.
- INITCAP. Devuelve una cadena de caracteres con el primer carácter de cada palabra convertida a mayúsculas
- LENGTH. Se utiliza para calcular la longitud de una cadena de texto. Esta función es útil cuando se desea determinar cuántos caracteres tiene una cadena de texto, ya sea para realizar operaciones matemáticas o para aplicar ciertas validaciones.
- LOWER. Se utiliza en SQL para convertir todas las letras de una cadena de texto a minúsculas. Esta función es útil cuando se quiere realizar operaciones de comparación o búsqueda en una tabla en una base de datos y se desea asegurarse de que todos los valores estén en minúsculas para evitar errores.
- LTRIM. Se utiliza para eliminar los espacios en blanco al principio de una cadena de texto. Esta función es útil cuando se desea eliminar los espacios en blanco no deseados al inicio de una cadena de texto, ya sea para limpiar los datos o para aplicar ciertas validaciones.
- RTRIM. En SQL se utiliza para eliminar los espacios en blanco al final de una cadena de texto. Esta función es útil cuando se desea eliminar los espacios en blanco no deseados al final de una cadena de texto, ya sea para limpiar los datos o para aplicar ciertas validaciones.
- SUBSTRING. Extrae una subcadena de una cadena de caracteres dada una posición inicial y una longitud.
- REPLAC. Reemplaza una subcadena específica en una cadena de caracteres con otra subcadena dada.
En este ejemplo, se seleccionaría el nombre en mayúsculas y la longitud del nombre de todos los clientes cuyo nombre comience con la letra «A» y cuya país sea «USA», eliminando cualquier espacio en blanco al principio y al final del valor del país.
SELECT UPPER(name), LENGTH(name)
FROM customers
WHERE SUBSTRING(name, 1, 1) = 'A' AND TRIM(country) = 'USA';
Son funciones que se utilizan para manipular y trabajar con datos de tipo fecha y hora. Algunos ejemplos de funciones de fecha mas comunes son,
- ADD_MONTHS. En SQL se utiliza para agregar o restar meses a una fecha especificada. Esta función es útil cuando se desea calcular una fecha en el futuro o en el pasado a partir de una fecha dada.
- LAST_DAY. Se utiliza para obtener la última fecha del mes de una fecha especificada.
- MONTHS_BETWEEN. Esta función es útil cuando se desea calcular cuántos meses hay entre dos fechas
- SYSDATE . Se utiliza para obtener la fecha y hora actual del sistema en el que se está ejecutando la consulta. Esta función es útil cuando se desea insertar la fecha y hora actual en una columna de una tabla de una base de datos, ya sea para registrar una acción o realizar diferentes cálculos.
- NEXT_DAY Devuelve la fecha del próximo día de la semana dada para una fecha dada.
En este ejemplo, la consulta devolverá el número de meses entre la fecha actual y el «01-ENE-2030».
SELECT MONTHS_BETWEEN(CURRENT_DATE, '2030-01-01') FROM dual;
Son funciones que se utilizan para convertir un valor de un tipo de datos a otro. Algunos ejemplos de funciones de conversión comunes en SQL son,
- TO_NUMBER. Esta función es útil cuando se desea convertir una cadena de texto que contiene un número en un valor numérico para poder realizar operaciones aritméticas o para aplicar ciertas validaciones.
- TO_CHAR. Esta función es útil cuando se desea convertir un valor numérico o de fecha en una cadena de texto para poder representarlo de una determinada manera o para aplicar ciertas validaciones.
- TO_DATE. Esta función es útil cuando se desea convertir una cadena de texto que contiene una fecha en un valor de fecha para poder realizar operaciones o para aplicar ciertas validaciones.
- TO_TIMESTAMP. Convierte una cadena de caracteres a un valor de tipo fecha y hora.
En este ejemplo, se utilizan las funciones TO_CHAR, TO_NUMBER, TO_DATE y TO_TIMESTAMP para convertir diferentes tipos de valores.
SELECT TO_CHAR(123456.789, '$99,999.99') AS num_string,
TO_NUMBER('123,456.79') AS num_value,
TO_DATE('2030-01-01', 'YYYY-MM-DD') AS date_value,
TO_TIMESTAMP('2030-01-01 12:34:56', 'YYYY-MM-DD HH24:MI:SS') AS timestamp_value
FROM dual;
Son funciones que proporcionan información sobre la base de datos y el sistema en el que se está ejecutando la consulta. Algunos ejemplos de funciones de información del sistema más comunes son,
- DATABASE(). Devuelve el nombre de la base de datos actual.
- USER(). Devuelve el nombre del usuario conectado a la base de datos.
- VERSION(). Devuelve información sobre la versión del sistema de base de datos.
- ROW_COUNT(). Devuelve el número de filas afectadas por la última sentencia DML ejecutada. Se reinicia una vez se ejecuten.
- LAST_INSERT_ID(). Devuelve el ID generado automáticamente por la última sentencia INSERT ejecutada.
- NOW(). Devuelve la fecha y hora actual del sistema de base de datos.
- ROWCOUNT: Devuelve el número de filas afectadas por la última sentencia DML ejecutada. No se reinicia después de ejecutar otras sentencias.