Función AT TIME ZONE
AT TIME ZONE especifica la zona horaria que debe usarse con una expresión TIMESTAMP o TIMESTAMPTZ.
Sintaxis
AT TIME ZONE 'timezone'
Argumentos
- timezone
-
La
TIMEZONE
para el valor devuelto. La zona horaria puede especificarse como un nombre (por ejemplo,'Africa/Kampala'
o'Singapore'
) o como una abreviatura (por ejemplo,'UTC'
o'PDT'
).Para ver una lista de los nombres de zonas horarias compatibles, ejecute el siguiente comando.
select pg_timezone_names();
Para ver una lista de las abreviaturas de zonas horarias compatibles, ejecute el siguiente comando.
select pg_timezone_abbrevs();
Para obtener más información y ejemplos, consulte Notas de uso de la zona horaria.
Tipo de retorno
TIMESTAMPTZ, cuando se usa con una expresión TIMESTAMP. TIMESTAMP, cuando se usa con una expresión TIMESTAMPTZ.
Ejemplos
En el siguiente ejemplo, se convierte un valor de marca temporal sin zona horaria y se interpreta como hora MST (UTC+7 en POSIX). En el ejemplo se devuelve un valor del tipo de datos TIMESTAMPTZ para la zona horaria UTC. Si configura su zona horaria predeterminada en una zona horaria distinta de UTC, es posible que vea un resultado diferente.
SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST';
timezone ------------------------ 2001-02-17 03:38:40+00
En el siguiente ejemplo, se toma una marca temporal de entrada con un valor de zona horaria cuya zona horaria especificada es EST (UTC+5 en POSIX) y se lo convierte a MST (UTC+7 en POSIX). En el ejemplo se devuelve un valor de tipo de datos TIMESTAMP.
SELECT TIMESTAMPTZ '2001-02-16 20:38:40-05' AT TIME ZONE 'MST';
timezone ------------------------ 2001-02-16 18:38:40