Guía Completa de Funciones en Oracle SQL: Conversión, Manejo de Fechas, Cadenas y Más

Oracle SQL ofrece una amplia variedad de funciones para procesar datos de forma eficiente. En este artículo exploraremos diversas categorías de funciones, incluyendo funciones de conversión, manejo de fechas, operaciones con cadenas y valores numéricos, entre otras.


1. Funciones de Decodificación y Comparación

  • DECODE(var, val1, cod1, val2, cod2, ..., valor_por_defecto)
    La función DECODE es útil para realizar comparaciones en una sola línea. Ejemplo: SELECT DECODE(DEPARTMENT_ID, 10, 'HR', 20, 'IT', 'OTHER') AS DEPARTMENT_NAME FROM EMPLOYEES;

2. Funciones de Información del Usuario

  • USER: Devuelve el nombre del usuario actual. SELECT USER FROM DUAL;
  • UID: Devuelve el identificador único del usuario. SELECT UID FROM DUAL;

3. Funciones de Conversión

  • TO_CHAR (para fechas y números)
    Convierte fechas o números en cadenas en un formato específico. Ejemplo (fecha): SELECT TO_CHAR(SYSDATE, 'DD-MM-YYYY') AS FORMATTED_DATE FROM DUAL; Ejemplo (número): SELECT TO_CHAR(12345.678, '99999.99') AS FORMATTED_NUMBER FROM DUAL;
  • TO_DATE: Convierte una cadena a un formato de fecha. SELECT TO_DATE('2024-11-25', 'YYYY-MM-DD') AS DATE_VALUE FROM DUAL;
  • TO_NUMBER: Convierte una cadena a un número. SELECT TO_NUMBER('12345') AS NUMBER_VALUE FROM DUAL;

4. Funciones de Manejo de Fechas

  • SYSDATE: Devuelve la fecha y hora actuales. SELECT SYSDATE FROM DUAL;
  • ADD_MONTHS: Añade o resta meses a una fecha. SELECT ADD_MONTHS(SYSDATE, 3) AS FUTURE_DATE FROM DUAL;
  • LAST_DAY: Devuelve el último día del mes de una fecha. SELECT LAST_DAY(SYSDATE) AS END_OF_MONTH FROM DUAL;
  • MONTHS_BETWEEN: Calcula la diferencia en meses entre dos fechas. SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('2024-01-01', 'YYYY-MM-DD')) AS MONTHS_DIFF FROM DUAL;
  • NEXT_DAY: Devuelve la siguiente ocurrencia de un día de la semana. SELECT NEXT_DAY(SYSDATE, 'MONDAY') AS NEXT_MONDAY FROM DUAL;

5. Funciones de Manejo de Cadenas

  • CHR(n): Devuelve el carácter ASCII correspondiente. SELECT CHR(65) AS CHARACTER FROM DUAL;
  • CONCAT(cad1, cad2): Une dos cadenas. SELECT CONCAT('Hello', ' World') AS GREETING FROM DUAL;
  • LOWER y UPPER: Convierte cadenas a minúsculas o mayúsculas. SELECT LOWER('HELLO') AS LOWERCASE, UPPER('hello') AS UPPERCASE FROM DUAL;
  • INITCAP: Capitaliza la primera letra de cada palabra. SELECT INITCAP('hello world') AS TITLECASE FROM DUAL;
  • LPAD y RPAD: Rellena cadenas a la izquierda o derecha. SELECT LPAD('123', 5, '0') AS LEFT_PADDED FROM DUAL;
  • SUBSTR: Extrae una parte de la cadena. SELECT SUBSTR('HELLO WORLD', 1, 5) AS SUBSTRING FROM DUAL;
  • LENGTH: Devuelve la longitud de una cadena. SELECT LENGTH('HELLO') AS LENGTH FROM DUAL;

6. Funciones Numéricas

  • ABS(n): Valor absoluto. SELECT ABS(-10) AS ABSOLUTE_VALUE FROM DUAL;
  • CEIL y FLOOR: Redondeo hacia arriba o abajo. SELECT CEIL(10.2) AS CEIL_VALUE, FLOOR(10.8) AS FLOOR_VALUE FROM DUAL;
  • MOD: Devuelve el residuo de una división. SELECT MOD(10, 3) AS MOD_VALUE FROM DUAL;
  • ROUND y TRUNC: Redondea o trunca números. SELECT ROUND(123.456, 2) AS ROUNDED, TRUNC(123.456, 2) AS TRUNCATED FROM DUAL;
  • POWER y SQRT: Calcula potencias y raíces cuadradas. SELECT POWER(2, 3) AS POWER_RESULT, SQRT(16) AS SQUARE_ROOT FROM DUAL;

7. Funciones de Grupo

  • AVG, COUNT, MAX, MIN, SUM: Calcula promedio, cuenta, máximo, mínimo y suma. SELECT AVG(SALARY), MAX(SALARY), MIN(SALARY), SUM(SALARY) FROM EMPLOYEES;
  • VARIANCE: Calcula la varianza de un conjunto de valores. SELECT VARIANCE(SALARY) AS VARIANCE FROM EMPLOYEES;

8. Funciones de Comparación

  • GREATEST y LEAST: Devuelve el mayor o menor valor entre múltiples argumentos. SELECT GREATEST(10, 20, 30) AS MAX_VALUE, LEAST(10, 20, 30) AS MIN_VALUE FROM DUAL;

Estas funciones son herramientas esenciales para trabajar con datos en Oracle SQL. Dominar su uso te permitirá resolver problemas complejos con facilidad y eficiencia. ¡Pruébalas en tus proyectos!

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde Tomás González: Formador y Desarrollador Web

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad