Oracle

Oracle TRUNC Date Function: Practical Examples | SQL Tutorial

La función TRUNC de Oracle es una herramienta útil para manipular y truncar fechas según la unidad especificada. Esta función toma como argumentos la fecha que se desea truncar y el formato que determina la unidad de truncamiento. Si no se proporciona un formato, la función utiliza el valor predeterminado DD, que trunca la fecha a la medianoche. En este artículo, exploraremos diversos ejemplos prácticos de cómo utilizar esta función y cómo puede facilitar diferentes tareas relacionadas con las fechas en Oracle.

¿Qué es la función TRUNC de Oracle?

La función TRUNC de Oracle es una función de manipulación de fechas que permite truncar una fecha a una unidad específica. Esta función es particularmente útil cuando se necesita realizar operaciones de redondeo, eliminar partes de una fecha o extraer información específica de una fecha. Al especificar un formato de truncamiento, se puede determinar la unidad exacta a la que se desea truncar la fecha, como el mes, el trimestre, el año o incluso la hora.

Por ejemplo, si se tiene una fecha como ’01-05-2024 15:30:45′ y se desea truncarla al primer día del mes, se puede utilizar la función TRUNC con el formato ‘MM’ para obtener la fecha ’01-05-2024 00:00:00′. Esto permitiría realizar cálculos y operaciones basadas en el mes, sin tener en cuenta la parte del día.

La función TRUNC también ofrece la capacidad de truncar una fecha a la medianoche utilizando el formato predeterminado DD. Esto significa que se puede obtener la fecha sin la parte del día, es decir, con el valor de hora establecido en 00:00:00.

Recomendado:  ¿Cómo usar Oracle DATE y sus formatos: ejemplos y más?

Argumentos de la función TRUNC

La función TRUNC de Oracle acepta dos argumentos: la fecha que se desea truncar y el formato que especifica la unidad de truncamiento. Veamos en detalle cada argumento:

  • Fecha: Es el primer argumento de la función y representa la fecha que se desea truncar. Puede ser una columna de fecha de una tabla o un valor de fecha literal. La función realizará el truncamiento en relación con esta fecha.
  • Formato: Es un parámetro opcional que determina la unidad de truncamiento. Puede ser una cadena de caracteres con un formato específico o una abreviatura predeterminada. Si no se proporciona un formato, se utiliza el valor predeterminado DD, lo que implica que la fecha se truncará a la medianoche.

Algunos ejemplos de formatos comunes incluyen:

  • YYYY: Trunca la fecha al primer día del año, estableciendo el mes y el día en 01.
  • MM: Trunca la fecha al primer día del mes, estableciendo el día en 01.
  • IW: Trunca la fecha al primer día de la semana ISO, estableciendo el día en la fecha más cercana anterior al lunes.
  • HH24: Trunca la fecha a la hora en punto, estableciendo los minutos y segundos en 00.

Es importante destacar que el formato utilizado debe ser compatible con la función TRUNC y estar en concordancia con la unidad de truncamiento deseada.

Uso del formato predeterminado DD

Cuando se utiliza la función TRUNC de Oracle sin especificar un formato de truncamiento, se utiliza el valor predeterminado DD. Esto significa que la fecha se truncará a la medianoche, es decir, se eliminará la parte de la hora y se establecerá a 00:00:00.

Recomendado:  ¿Cómo utilizar SYSTIMESTAMP en Oracle? Aprende con ejemplos

Este formato predeterminado es útil en situaciones en las que se desea realizar cálculos o comparaciones basadas únicamente en la fecha, sin considerar la hora en la que ocurrió. Al truncar una fecha a la medianoche, se puede igualar o comparar fácilmente con otras fechas sin tener en cuenta la hora y los minutos.

Por ejemplo, si se tiene una fecha como ’03-05-2024 14:30:00′ y se utiliza la función TRUNC con el formato predeterminado DD, se obtendrá la fecha ’03-05-2024 00:00:00′. Esto permite realizar operaciones como la comparación de fechas sin tener en cuenta la parte de la hora.

Otro caso de uso común del formato predeterminado DD es obtener el primer día del mes a partir de una fecha. Por ejemplo, si se tiene una fecha como ’25-09-2024 18:45:00′ y se utiliza la función TRUNC sin especificar un formato, se obtendrá la fecha ’01-09-2024 00:00:00′, truncada al primer día del mes indicado.

El uso del formato predeterminado DD en la función TRUNC permite truncar una fecha a la medianoche y realizar operaciones o comparaciones basadas únicamente en la parte de la fecha.

Ejemplos de uso de la función TRUNC

A continuación, exploraremos algunos ejemplos prácticos de uso de la función TRUNC de Oracle:

Truncar una fecha al valor de medianoche predeterminado:

La función TRUNC se puede utilizar para truncar una fecha a la medianoche, estableciendo la parte de la hora en 00:00:00. Por ejemplo:

SELECT TRUNC(SYSDATE) AS fecha_truncada
FROM dual;

Este código devuelve la fecha actual truncada a la medianoche:

+----------------------+
|   FECHA_TRUNCADA      |
+----------------------+
| 2024-10-10 00:00:00  |
+----------------------+

Esto es útil cuando se necesita realizar cálculos o realizar comparaciones basadas únicamente en la parte de la fecha, ignorando la hora.

Recomendado:  ¿Cómo utilizar el SQL LOOP en PL/SQL y Oracle SQL?

Obtener el primer día del mes:

La función TRUNC puede utilizarse para obtener el primer día del mes a partir de una fecha especificada. Por ejemplo:

SELECT TRUNC(SYSDATE, 'MM') AS primer_dia_mes
FROM dual;

Este código devuelve el primer día del mes actual:

+----------------------+
|    PRIMER_DIA_MES      |
+----------------------+
| 2024-10-01 00:00:00  |
+----------------------+

Al truncar la fecha utilizando el formato ‘MM’, se establece el día en 01, lo que da como resultado el primer día del mes deseado.

Obtener el primer día del trimestre:

La función TRUNC también puede utilizarse para obtener el primer día del trimestre a partir de una fecha dada. Por ejemplo:

SELECT TRUNC(SYSDATE, 'Q') AS primer_dia_trimestre
FROM dual;

Este código devuelve el primer día del trimestre actual:

+----------------------+
|  PRIMER_DIA_TRIMESTRE  |
+----------------------+
| 2024-10-01 00:00:00  |
+----------------------+

Al utilizar el formato ‘Q’, se establece el día en 01 y se obtiene el primer día del trimestre correspondiente a la fecha especificada.

La función TRUNC de Oracle ofrece una amplia gama de opciones para truncar fechas según diferentes unidades, lo que permite realizar cálculos y manipulaciones basadas en fechas de manera efectiva y precisa.

Conclusión

La función TRUNC de Oracle es una herramienta valiosa para manipular y truncar fechas según la unidad especificada. Ya sea que desees truncar una fecha a la medianoche, obtener el primer día del mes o trimestre, o realizar otras operaciones basadas en fechas, la función TRUNC es una solución eficaz.

En este artículo, hemos explorado los fundamentos de la función TRUNC, incluidos sus argumentos y el uso del formato predeterminado DD para truncar una fecha a la medianoche. También hemos proporcionado ejemplos prácticos de cómo utilizar la función TRUNC para obtener el primer día del mes o trimestre a partir de una fecha.

Al dominar el uso de la función TRUNC, podrás realizar operaciones sofisticadas y precisas con fechas en Oracle, lo que te permitirá ahorrar tiempo y esfuerzo en el manejo de datos temporales.

Author

osceda@hotmail.com

Leave a comment

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