Función NOW en PostgreSQL

La función NOW en PostgreSQL es una herramienta ampliamente utilizada para obtener la fecha y hora local del inicio de la transacción, incluyendo el desplazamiento correspondiente a la zona horaria. Es equivalente a transaction_timestamp() y se comporta de manera similar a current_timestamp cuando se utiliza sin argumentos. Su principal característica es que siempre devuelve el mismo valor durante toda la transacción, proporcionando coherencia temporal en los resultados.

Como parte de las funciones de fecha en PostgreSQL, NOW es ideal para registrar eventos, generar marcas temporales o trabajar con datos cronológicos en diversas aplicaciones. Su uso es sencillo y eficiente, lo que la convierte en una de las funciones temporales más populares entre los desarrolladores y administradores de bases de datos.

En este artículo, primero exploraremos la sintaxis básica de NOW, y luego veremos ejemplos prácticos para que puedas implementarla correctamente en tus consultas y aprovechar al máximo su funcionalidad.

Para más información, puedes consultar la documentación oficial de la función NOW en PostgreSQL.

Sintaxis

La sintaxis para utilizar la función NOW en PostgreSQL es la siguiente:

now()

Esta función no admite argumentos.

Ejemplo

SELECT now();
Función NOW en PostgreSQL

NOW en transacciones

Es importante tener precaución al utilizar la función NOW en PostgreSQL dentro de transacciones, ya que siempre devolverá la fecha y hora local correspondientes al momento en que la transacción comenzó. Esto significa que, independientemente de cuántas veces llames a la función durante la misma transacción, el valor retornado será constante y no reflejará cambios ocurridos después de su inicio.

BEGIN;
SELECT now();
SELECT pg_sleep(3);
SELECT now();
COMMIT;

Si necesitas que la fecha y hora se vaya actualizando según se va ejecutando puedes utilizar la función CLOCK_TIMESTAMP.

Escribir un comentario