función escalar TIMESTAMP_TZ
La función TIMESTAMP_TZ devuelve un valor TIMESTAMP WITH TIME ZONE de los argumentos de entrada.
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
- 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
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.
Si 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.
El resultado de la función equivale a invocar la especificación CAST, como se indica en la siguiente tabla:
| 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 |
|
|
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.
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.SET :TIMESZ = TIMESTAMP_TZ(:TIMES, :TZ);
