PostgreSQL: tipo de datos de marca de tiempo

En PostgreSQL 2, los tipos de datos temporales, a saber, la marca de tiempo y la marca de tiempo, donde uno no tiene zona horaria y el otro tiene zona horaria, respectivamente, son compatibles para almacenar la hora y la fecha en una columna. Tanto la marca de tiempo como la marca de tiempo usan 8 bytes para almacenar valores de marca de tiempo. 

Syntax: TIMESTAMP; or TIMESTAMPTZ;

Ahora veamos algún ejemplo para una mejor comprensión. 
Ejemplo 1: 
Primero creamos una tabla que tiene las columnas timestamp y timestamptz usando el siguiente comando: 
 

CREATE TABLE timestamp_demo (ts TIMESTAMP, tstz TIMESTAMPTZ);

Luego estableceremos la zona horaria del servidor de la base de datos en Asia/Calcuta como se muestra a continuación: 
 

SET timezone = 'Asia/Calcutta';

Ahora que nuestra zona horaria está configurada, insertaremos una nueva fila en la tabla timestamp_demo usando el siguiente comando: 
 

INSERT INTO timestamp_demo (ts, tstz)
VALUES
    (
        '2020-06-22 19:10:25-07',
        '2020-06-22 19:10:25-07'
    );

Ahora consultaremos los datos de las columnas timestamp y timestamptz usando el siguiente comando: 
 

SELECT
    ts, tstz
FROM
    timestamp_demo;

Producción: 
 

Ejemplo 2: 
En este ejemplo, convertiremos la zona horaria de Asia/Calcuta en la zona horaria de América/Nueva_York usando la función timezone(zone, timestamp)
Primero creamos una tabla que tiene columnas de marca de tiempo y marca de tiempo usando el siguiente comando: 
 

CREATE TABLE timezone_conversion_demo ( tstz TIMESTAMPTZ);

Luego estableceremos la zona horaria del servidor de la base de datos en Asia/Calcuta como se muestra a continuación: 
 

SET timezone = 'Asia/Calcutta';

Ahora que nuestra zona horaria está configurada, insertaremos una nueva fila en la tabla timezone_conversion_demo usando el siguiente comando: 
 

INSERT INTO timezone_conversion_demo ( tstz)
VALUES
    (
        
        '2020-06-22 19:10:25-07'
    );

Ahora consultaremos los datos de las columnas timestamp y timestamptz usando el siguiente comando: 
 

SELECT timezone('America/New_York', '2020-06-22 19:10:25');

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 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 *