Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Función CONVERT_TIMEZONE
CONVERT_TIMEZONE convierte una marca temporal de una zona horaria a otra. La función se ajusta automáticamente al horario de verano.
Sintaxis
CONVERT_TIMEZONE ( ['source_timezone',] 'target_timezone', 'timestamp')
Argumentos
- source_timezone
-
(Opcional) La zona horaria de la marca temporal actual. El valor predeterminado es UTC.
- target_timezone
-
La zona horaria para la marca temporal nueva.
- timestamp
-
Una columna de marca temporal o una expresión que, implícitamente, se convierte en una marca temporal.
Tipo de retorno
TIMESTAMP
Ejemplos
En el siguiente ejemplo, se convierte el valor de la marca temporal de la zona horaria UTC predeterminada a la zona horaria PST.
select convert_timezone('PST', '2008-08-21 07:23:54');
convert_timezone ------------------------ 2008-08-20 23:23:54
En el siguiente ejemplo, el valor de la marca temporal que aparece en la columna LISTTIME se convierte de la zona horaria UTC predeterminada a la zona horaria PST. Aunque la marca temporal se encuentra dentro del periodo de horario de verano, se convierte a horario estándar porque la zona horaria objetivo se especifica como una abreviatura (PST).
select listtime, convert_timezone('PST', listtime) from listing where listid = 16;
listtime | convert_timezone --------------------+------------------- 2008-08-24 09:36:12 2008-08-24 01:36:12
En el siguiente ejemplo, la marca temporal que aparece en la columna LISTTIME se convierte de la zona horaria predeterminada UTC a la zona horaria US/Pacific. La zona horaria objetivo usa un nombre de zona horaria y la marca temporal se encuentra dentro del periodo de horario de verano, por lo que la función devuelve el horario de verano.
select listtime, convert_timezone('US/Pacific', listtime) from listing where listid = 16;
listtime | convert_timezone --------------------+--------------------- 2008-08-24 09:36:12 | 2008-08-24 02:36:12
En el siguiente ejemplo, se convierte una cadena de marca temporal de EST a PST:
select convert_timezone('EST', 'PST', '20080305 12:25:29');
convert_timezone ------------------- 2008-03-05 09:25:29
En el siguiente ejemplo, se convierte una marca temporal al horario del este de Estados Unidos estándar porque la zona horaria objetivo usa un nombre de zona horaria (America/New_York) y la marca temporal se encuentra dentro del periodo estándar.
select convert_timezone('America/New_York', '2013-02-01 08:00:00');
convert_timezone --------------------- 2013-02-01 03:00:00 (1 row)
En el siguiente ejemplo, se convierte la marca temporal al horario de verano del este de Estados Unidos porque la zona horaria objetivo usa un nombre de zona horaria (America/New_York) y la marca temporal se encuentra dentro del periodo de horario de verano.
select convert_timezone('America/New_York', '2013-06-01 08:00:00');
convert_timezone --------------------- 2013-06-01 04:00:00 (1 row)
En el siguiente ejemplo, se demuestra el uso de desplazamientos.
SELECT CONVERT_TIMEZONE('GMT','NEWZONE +2','2014-05-17 12:00:00') as newzone_plus_2, CONVERT_TIMEZONE('GMT','NEWZONE-2:15','2014-05-17 12:00:00') as newzone_minus_2_15, CONVERT_TIMEZONE('GMT','America/Los_Angeles+2','2014-05-17 12:00:00') as la_plus_2, CONVERT_TIMEZONE('GMT','GMT+2','2014-05-17 12:00:00') as gmt_plus_2;
newzone_plus_2 | newzone_minus_2_15 | la_plus_2 | gmt_plus_2 ---------------------+---------------------+---------------------+--------------------- 2014-05-17 10:00:00 | 2014-05-17 14:15:00 | 2014-05-17 10:00:00 | 2014-05-17 10:00:00 (1 row)