Explorando las Funciones Más Comunes en Oracle SQL: Conversión, Fechas, Cadenas y Operaciones Numéricas

Oracle SQL proporciona un amplio conjunto de funciones para trabajar con datos de forma eficiente. Este artículo ofrece ejemplos prácticos para entender y utilizar funciones esenciales organizadas por categorías: conversión, manejo de fechas, cadenas y operaciones numéricas.


1. Funciones de Decodificación y Comparación

  • DECODE: Proporciona una lógica condicional similar a un CASE en otras bases de datos. SELECT DECODE(JOB_ID, 'IT_PROG', 'Developer', 'SA_MAN', 'Sales Manager', 'Other') AS JOB_DESCRIPTION FROM EMPLOYEES;

2. Funciones de Información del Usuario

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

3. Funciones de Conversión

  1. TO_CHAR: Convierte números o fechas a cadenas formateadas. SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS FORMATTED_DATE FROM DUAL; SELECT TO_CHAR(12345.67, '99999.99') AS FORMATTED_NUMBER FROM DUAL;
  2. TO_DATE: Convierte una cadena a un formato de fecha. SELECT TO_DATE('2024-11-25', 'YYYY-MM-DD') AS DATE_VALUE FROM DUAL;
  3. TO_NUMBER: Convierte cadenas a números. SELECT TO_NUMBER('12345.67') AS NUMBER_VALUE FROM DUAL;

4. Funciones de Manejo de Fechas

  1. SYSDATE: Devuelve la fecha y hora actuales. SELECT SYSDATE AS CURRENT_DATE FROM DUAL;
  2. ADD_MONTHS: Añade o resta meses a una fecha. SELECT ADD_MONTHS(SYSDATE, 6) AS FUTURE_DATE FROM DUAL;
  3. LAST_DAY: Obtiene el último día del mes de una fecha. SELECT LAST_DAY(SYSDATE) AS END_OF_MONTH FROM DUAL;
  4. 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;
  5. NEXT_DAY: Encuentra el próximo día de la semana especificado. SELECT NEXT_DAY(SYSDATE, 'FRIDAY') AS NEXT_FRIDAY FROM DUAL;

5. Funciones de Cadenas

  1. CHR y ASCII: Convierte entre valores ASCII y caracteres. SELECT CHR(65) AS CHARACTER_A, ASCII('A') AS ASCII_VALUE FROM DUAL;
  2. CONCAT: Une dos cadenas. SELECT CONCAT('Hello', ' World') AS GREETING FROM DUAL;
  3. LOWER, UPPER, INITCAP: Convierte cadenas a minúsculas, mayúsculas o título. SELECT LOWER('HELLO'), UPPER('hello'), INITCAP('hello world') FROM DUAL;
  4. LPAD, RPAD: Rellena cadenas con caracteres. SELECT LPAD('123', 5, '0') AS PADDED_LEFT, RPAD('123', 5, '*') AS PADDED_RIGHT FROM DUAL;
  5. SUBSTR: Extrae una subcadena. SELECT SUBSTR('HELLO WORLD', 1, 5) AS SUBSTRING FROM DUAL;
  6. INSTR: Encuentra la posición de una subcadena. SELECT INSTR('HELLO WORLD', 'WORLD') AS POSITION FROM DUAL;
  7. LENGTH: Devuelve la longitud de una cadena. SELECT LENGTH('HELLO') AS STRING_LENGTH FROM DUAL;

6. Funciones Numéricas

  1. ABS y SIGN: Devuelve el valor absoluto o el signo de un número. SELECT ABS(-10) AS ABSOLUTE_VALUE, SIGN(-10) AS SIGN_VALUE FROM DUAL;
  2. CEIL y FLOOR: Redondeo hacia arriba o abajo. SELECT CEIL(10.2) AS CEIL_VALUE, FLOOR(10.8) AS FLOOR_VALUE FROM DUAL;
  3. MOD: Calcula el residuo de una división. SELECT MOD(10, 3) AS MOD_VALUE FROM DUAL;
  4. ROUND y TRUNC: Redondea o trunca números. SELECT ROUND(123.456, 2) AS ROUNDED, TRUNC(123.456, 2) AS TRUNCATED FROM DUAL;
  5. 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 Agregación

  1. AVG, COUNT, MAX, MIN, SUM: SELECT AVG(SALARY) AS AVERAGE_SALARY, MAX(SALARY) AS MAX_SALARY, MIN(SALARY) AS MIN_SALARY, SUM(SALARY) AS TOTAL_SALARY FROM EMPLOYEES;
  2. VARIANCE: Calcula la varianza. SELECT VARIANCE(SALARY) AS SALARY_VARIANCE FROM EMPLOYEES;

8. Funciones de Comparación

  1. GREATEST y LEAST: SELECT GREATEST(10, 20, 30) AS MAX_VALUE, LEAST(10, 20, 30) AS MIN_VALUE FROM DUAL;

Estas funciones son fundamentales para trabajar con datos en Oracle SQL. Cada una cumple un propósito específico y puede combinarse para crear consultas más avanzadas y optimizadas. ¡Experimenta con estos ejemplos para mejorar tus habilidades!

close up photo of programming of codes
Photo by luis gomes on Pexels.com

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