Función escalar TIMEZONE
La función escalar TIMEZONE convierte una fecha y hora en un huso horario en una indicación de fecha y hora en otro huso horario.
El esquema es SYSIBM.
- expresión-fecha-hora
- Expresión que devuelve un valor de tipo de datos DATE, TIMESTAMP, CHAR o VARCHAR. En una base de datos Unicode, la expresión puede ser un tipo de datos GRAPHIC o VARGRAPHIC. Un valor de tipo de datos CHAR, VARCHAR, GRAPHIC o VARGRAPHIC debe ser una serie válida aceptada por la función escalar Función escalar TIMESTAMP. Una serie así se convierte implícitamente en una indicación de fecha y hora antes de la conversión.
- desde-huso-horario
- Expresión que especifica el huso horario del valor devuelto por una expresión de fecha y hora de entrada.
- a-huso-horario
-
Expresión que especifica el huso horario de la indicación de fecha y hora de salida.
- Debe ser un tipo de datos de serie de caracteres de datos incorporada (en una base de datos Unicode, también puede ser un tipo de datos de serie gráfica) que contiene un nombre de huso horario como se especificaba en la base de datos de huso horario Internet Assigned Numbers Authority (IANA) (SQLSTATE 22546).
- No puede ser un subtipo FOR BIT DATA (SQLSTATE 42815).
area/location,
donde:- area
- Es el nombre inglés de un continente, océano o el área especial Etc.
- location
- Es el nombre inglés de una ubicación dentro del área especificada. Normalmente es una ciudad o una isla pequeña.
"America/Toronto" [The North American city of Toronto]
"Asia/Sakhalin" [The Asian island of Sakhalin]
"Etc/UTC" [Coordinated Universal Time]Para obtener una lista completa de los nombres de huso horario válidos y las reglas asociadas a esos husos horarios, consulte la base de datos de huso horario IANA. El servidor de base de datos utiliza la versión 2010c de la base de datos de huso horario IANA. Si se necesita una versión más reciente de la base de datos de huso horario IANA, póngase en contacto con el soporte de IBM.
- Si el valor de entrada es una indicación de fecha y hora, el valor de salida es una indicación de fecha y hora con la misma precisión que el valor de entrada.
- Si el tipo de datos del valor de entrada es DATE, el tipo de datos del valor de salida es TIMESTAMP(0).
- De lo contrario, el tipo de datos del valor de salida es TIMESTAMP(6).
Si cualquier argumento de la función puede ser nulo, el resultado puede ser nulo. Si ningún argumento es nulo, el resultado es el valor nulo.
Ejemplos
- El tipo de datos de la columna col1 de la tabla T1 es
TIMESTAMP(3), por lo tanto el tipo de datos de la salida de la
siguiente sentencia también es TIMESTAMP(3):
Esta sentencia devuelve:select TIMEZONE(col1, 'America/New_York', 'America/Los_Angeles')from T1;2016-12-19-14.00.00.123. - El tipo de datos de la columna col3 de la tabla T5 es DATE,
por lo tanto, el tipo de datos de la salida de la siguiente sentencia es TIMESTAMP(0):
Esta sentencia devuelve:select TIMEZONE(col3, 'America/New_York', 'America/Los_Angeles')from T5;2016-07-14-23.00.00. - La entrada de cada una de las sentencias siguientes es un literal de serie, así que el tipo de datos de su salida es TIMESTAMP(6):
Esta sentencia devuelve:values TIMEZONE('2016-09-24 17:00:00.12345678', 'America/New_York', 'America/Los_Angeles');2016-09-24-17.00.00.123456.
Esta sentencia devuelve:values TIMEZONE('2016-09-24 17:00:00.123', 'America/New_York', 'America/Los_Angeles');2016-09-24-17.00.00.123000.
