PL SQL | Función AÑADIR_MESES

La función PLSQL ADD_MONTHS se usa para devolver una fecha con un número específico de meses agregados. La función ADD_MONTHS acepta dos parámetros que son la fecha inicial y la cantidad de meses que se le agregarán.
La función ADD_MONTHS devuelve un valor del tipo de datos de fecha.

El argumento de fecha puede ser un valor de fecha y hora o cualquier valor que se pueda convertir implícitamente a FECHA. El argumento entero que se agregará puede ser un número entero o cualquier valor que se pueda convertir implícitamente en un número entero. El tipo de devolución siempre es FECHA, independientemente del tipo de datos de fecha. Si la fecha especificada en el argumento es el último día del mes o si el mes resultante tiene menos días que el componente de día de la fecha, el resultado es el último día del mes resultante.

Sintaxis:

ADD_MONTHS( init_date, add_months )

Parámetros utilizados

  1. init_date: se utiliza para especificar la fecha inicial.
  2. add_months: se utiliza para especificar la cantidad de meses que se agregarán a la fecha inicial.

Valor de retorno:
la función ADD_MONTHS devuelve un valor del tipo de datos de fecha.

Versiones compatibles de Oracle/PLSQL:

  1. Oráculo 12c
  2. oráculo 11g
  3. oráculo 10g
  4. oráculo 9i
  5. oráculo 8i

Ejemplo-1: Usar un valor numérico positivo en el argumento add_months de la función ADD_MONTHS.

DECLARE 
   Test_Date date := '01-Aug-18';
   Add_Month number := 3;
   
BEGIN 
   dbms_output.put_line(ADD_MONTHS(Test_Date, Add_Month)); 
   
END; 

Producción:

01.12.18 

Ejemplo-2: uso de un valor numérico negativo en el argumento add_months de la función ADD_MONTHS.

DECLARE 
   Test_Date date := '01-Aug-18';
   Add_Month number := -3;
   
BEGIN 
   dbms_output.put_line(ADD_MONTHS(Test_Date, Add_Month)); 
   
END; 

Producción:

01.05.03 

Ejemplo-3: Usar un valor numérico negativo en el argumento add_months de la función ADD_MONTHS.

DECLARE 
   Test_Date date := '31-Aug-18';
   Add_Month number := -4;
   
BEGIN 
   dbms_output.put_line(ADD_MONTHS(Test_Date, Add_Month)); 
   
END; 

Producción:

30.04.18 

Como abril tiene 30 días, ADD_MONTHS devuelve 30.04.18 como último día.

Ejemplo-4: Uso de un valor numérico positivo en el argumento add_months de la función ADD_MONTHS.

DECLARE 
   Test_Date date := '31-Aug-18';
   Add_Month number := 3;
   
BEGIN 
   dbms_output.put_line(ADD_MONTHS(Test_Date, Add_Month)); 
   
END; 

Producción:

30.11.18 

Como noviembre tiene 30 días, ADD_MONTHS devuelve 30.11.18 como último día.

Ejemplo-5: Uso de la consulta de selección con la función ADD_MONTHS.

SELECT
  ADD_MONTHS( DATE '2016-02-29', 1 )
FROM
  dual; 

Producción:

31-MAR-16 

Ventajas:
el argumento entero que se agregará puede ser un número entero o cualquier valor que se pueda convertir implícitamente en un número entero.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *