PostgreSQL proporciona varias funciones de fecha para manejar y manipular valores de fecha y hora. Entre ellas, `CURRENT_TIMESTAMP` se utiliza para obtener la fecha y hora actuales, con la información del huso horario, en el momento en que se ejecuta la función.
Utilización
La función `CURRENT_TIMESTAMP` se utiliza cuando necesitas capturar el momento exacto en que se realiza una operación, como al registrar eventos o establecer valores por defecto para columnas de marca de tiempo.
Este comando devuelve la fecha y hora actuales, incluida la información de la zona horaria, en el momento de la ejecución.
2. Insertar la marca de tiempo actual en una tabla
sql
INSERTINTOlogs(event_description, event_time)VALUES('User logged in',CURRENT_TIMESTAMP);Con la tecnología de
Este ejemplo muestra la inserción de la marca de tiempo actual en la tabla `logs`, capturando el momento exacto en que se produce un evento.
3. Establecer el valor por defecto de una columna
sql
CREATETABLEorders(
order_id SERIALPRIMARYKEY,
order_time TIMESTAMPDEFAULTCURRENT_TIMESTAMP);Con la tecnología de
Aquí, la tabla `orders` se crea con una columna `order_time` que almacena automáticamente la marca de tiempo actual como valor por defecto cuando se inserta un nuevo registro.
Consejos y buenas prácticas
Conocimiento del huso horario: Recuerda que `CURRENT_TIMESTAMP` devuelve la hora con la información de la zona horaria, lo que es crucial para las aplicaciones que abarcan varias zonas horarias.
Usar por defecto: Utiliza `CURRENT_TIMESTAMP` como valor por defecto para las columnas de fecha y hora, para garantizar la integridad de los datos y el seguimiento automático del tiempo.
Evita las llamadas frecuentes: Minimiza el número de llamadas a `CURRENT_TIMESTAMP` en una misma transacción para evitar valores de tiempo incoherentes.
Control de precisión: Si es necesario, especifica la precisión con `CURRENT_TIMESTAMP(precision)` para controlar el número de segundos fraccionarios. Por ejemplo:
Recupera la marca de tiempo actual con una precisión de hasta dos fracciones de segundo.
Notas adicionales
Característica estándar de SQL: `CURRENT_TIMESTAMP` es una característica estándar de SQL y no es exclusiva de PostgreSQL. Esto puede ser beneficioso para los usuarios que trabajan con varios sistemas de bases de datos.
Comparación con funciones similares: Los usuarios deben tener en cuenta que `CURRENT_TIMESTAMP` es similar a funciones como `NOW()` o `CURRENT_TIME`, siendo `NOW()` un alias de `CURRENT_TIMESTAMP` en PostgreSQL, mientras que `CURRENT_TIME` sólo devuelve la hora actual.
PostgreSQL proporciona varias funciones de fecha para manejar y manipular valores de fecha y hora. Entre ellas, `CURRENT_TIMESTAMP` se utiliza para obtener la fecha y hora actuales, con la información del huso horario, en el momento en que se ejecuta la función.
Utilización
La función `CURRENT_TIMESTAMP` se utiliza cuando necesitas capturar el momento exacto en que se realiza una operación, como al registrar eventos o establecer valores por defecto para columnas de marca de tiempo.
Esta sintaxis recupera la fecha y hora actuales, incluida la zona horaria, en el momento en que se ejecuta esta consulta.
Ejemplos
1. Recuperación básica de la marca de tiempo actual
Este comando devuelve la fecha y hora actuales, incluida la información de la zona horaria, en el momento de la ejecución.
2. Insertar la marca de tiempo actual en una tabla
Este ejemplo muestra la inserción de la marca de tiempo actual en la tabla `logs`, capturando el momento exacto en que se produce un evento.
3. Establecer el valor por defecto de una columna
Aquí, la tabla `orders` se crea con una columna `order_time` que almacena automáticamente la marca de tiempo actual como valor por defecto cuando se inserta un nuevo registro.
Consejos y buenas prácticas
Recupera la marca de tiempo actual con una precisión de hasta dos fracciones de segundo.
Notas adicionales