función escalar TIMESTAMP_TZ

La función TIMESTAMP_TZ devuelve un valor TIMESTAMP WITH TIME ZONE de los argumentos de entrada.

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualTIMESTAMP_TZ( expression-1, expression-2)

El esquema es SYSIBM.

expression-1
Expresión que devuelve un valor de uno de los siguientes tipos de datos integrados:
  • una marca de tiempo sin zona horaria
  • una marca de tiempo con zona horaria
  • una cadena de caracteres
  • una cadena gráfica
Si expression-1 es una cadena de caracteres o una cadena gráfica, debe cumplir las siguientes reglas:
  • No debe ser un CLOB ni un DBCLOB
  • Su valor debe ser una representación de cadena válida de una marca de tiempo sin zona horaria o una marca de tiempo con un valor de zona horaria
  • Debe tener una longitud real que no sea superior a 255 bytes
Para conocer los formatos válidos de representaciones de cadenas de valores de fecha y hora, consulte Representaciones de cadenas de valores de fecha y hora.

Si expression-2 se especifica, expression-1 debe ser una marca de tiempo sin zona horaria, o una representación de cadena de una marca de tiempo sin zona horaria.

expression-2
Expresión que devuelve una cadena de caracteres o una cadena gráfica.

Inicio del cambioSi expression-2 es una cadena de caracteres o una cadena gráfica, no debe ser un CLOB o DBCLOB, y su valor debe ser una representación de cadena válida de una zona horaria en el formato '± th : tm ' con valores que van desde -24:00 a +24:00, donde th representa la hora de la zona horaria y tm representa los minutos de la zona horaria.fin del cambio

El resultado de la función equivale a invocar la especificación CAST, como se indica en la siguiente tabla:

Tabla 1. Función TIMESTAMP_TZ y especificación CAST equivalente
Sintaxis de la función TIMESTAMP_TZ Sintaxis de especificación CAST equivalente
TIMESTAMP_TZ(timestamp_wo_tz) CAST(timestamp_wo_tz AS TIMESTAMP WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_wo_tz, n) CAST(timestamp_wo_tz AS TIMESTAMP(n) WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_wo_tz, timezone) CAST(CONCAT(VARCHAR(timestamp_wo_tz, timezone) AS TIMESTAMP WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_wo_tz, timezone, n) CAST(CONCAT(VARCHAR(timestamp_wo_tz, timezone) AS TIMESTAMP(n) WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_w_tz) CAST(timestamp_w_tz AS TIMESTAMP WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_w_tz, n) CAST(timestamp_w_tz AS TIMESTAMP(n) WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_w_tz, timezone) N/D
TIMESTAMP_TZ(timestamp_w_tz, timezone, n) N/D
marca_de_tiempo_sin_zona_horaria
Una marca de tiempo sin valor de zona horaria.
marca_de_tiempo_con_zona_horaria
Una marca de tiempo con valor de zona horaria.
zona horaria
Un valor de zona horaria.
n
El valor de precisión.

Cuando la representación de una cadena de una marca de tiempo es un conjunto de caracteres de un solo byte (SBCS) con un CCSID que no es el mismo que el CCSID predeterminado para datos SBCS, ese valor se convierte al CCSID predeterminado para datos SBCS antes de interpretarse y convertirse a un valor de marca de tiempo.

Notas

Sintaxis alternativa:
Si solo se especifica un argumento, debe utilizarse la especificación CAST para garantizar la máxima portabilidad. Para más información, consulte la especificación CAST

FROM_TZ puede especificarse como sinónimo de TIMESTAMP_TZ cuando TIMESTAMP_TZ especifica tanto expression-1 y expression-2.

ejemplos

Ejemplo 1:
Supongamos que TIMES es una variable host con el valor 2008-02-29-20.00.00.000000 y que TZ es una variable host con el valor -3 :00. Convertir el valor de TIMES y TZ a una marca de tiempo con zona horaria.
SET :TIMESZ = TIMESTAMP_TZ(:TIMES, :TZ);
La variable de host TIMESZ se establece con el valor que representa la marca de tiempo con zona horaria como 2008-02-29-20.00.00.000000 -03:00.