Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:TO_TIMESTAMP_TZ

Dernière mise à jour :Aug 09, 2026

Convertit une chaîne de caractères VARCHAR représentant une date en une valeur TIMESTAMP, selon le fuseau horaire de l'environnement d'exécution Flink.

Syntaxe

TIMESTAMP TO_TIMESTAMP_TZ(VARCHAR date, VARCHAR timezone)
TIMESTAMP TO_TIMESTAMP_TZ(VARCHAR date, VARCHAR format, VARCHAR timezone)

La première version analyse le paramètre date à l'aide du format par défaut yyyy-MM-dd HH:mm:ss et l'interprète dans le fuseau horaire spécifié par le paramètre timezone.

La seconde version permet de spécifier un format personnalisé pour la chaîne de date d'entrée avant d'appliquer la conversion de fuseau horaire via le paramètre timezone.

Paramètres d'entrée

Paramètre

Type de données

Description

date

VARCHAR

La chaîne de date d'entrée.

format

VARCHAR

Le format de la chaîne de date d'entrée. Valeur par défaut : yyyy-MM-dd HH:mm:ss. S'applique uniquement à la seconde surcharge.

timezone

VARCHAR

Le fuseau horaire de la date d'entrée, spécifié sous forme de nom IANA (par exemple, Asia/Shanghai ou America/New_York). Si une valeur non standard est fournie, le paramètre revient par défaut à UTC.

Remarques d'utilisation

  • Utilisez des noms de fuseaux horaires IANA pour le paramètre timezone. Si une valeur non standard est fournie, le paramètre revient par défaut à UTC.

  • Le paramètre format s'applique uniquement à la seconde surcharge. Le format par défaut est yyyy-MM-dd HH:mm:ss.

Exemple

L'exemple suivant suppose que l'environnement d'exécution Flink fonctionne dans le fuseau horaire Asia/Shanghai (UTC+8).

Données de test — Table T1

timestamp1 (VARCHAR)

format1 (VARCHAR)

timezone1 (VARCHAR)

1970-01-01 00:00:00

yyyy-MM-dd HH:mm:ss

/

timestamp2 (VARCHAR)

format2 (VARCHAR)

timezone2 (VARCHAR)

1970-01-01 00:00:00

yyyy-MM-dd HH:mm:ss

Asia/Shanghai

timestamp3 (VARCHAR)

format3 (VARCHAR)

timezone3 (VARCHAR)

1970-01-01 00:00:00

yyyy-MM-dd HH:mm:ss

America/New_York

Instruction de test

SELECT
    TO_TIMESTAMP_TZ(timestamp1, timezone1) AS var1,          -- returns 1970-01-01 08:00:00
    TO_TIMESTAMP_TZ(timestamp2, format2, timezone2) AS var2,  -- returns 1970-01-01 00:00:00
    TO_TIMESTAMP_TZ(timestamp3, format3, timezone3) AS var3   -- returns 1970-01-01 13:00:00
FROM T1;

Résultat du test

var1 (VARCHAR)

var2 (VARCHAR)

var3 (VARCHAR)

1970-01-01 08:00:00

1970-01-01 00:00:00

1970-01-01 13:00:00

Explication des résultats

  • var1 : La valeur de timezone1 est /, ce qui constitue une valeur non standard. La fonction revient donc à UTC. L'environnement d'exécution Flink situé dans le fuseau Asia/Shanghai (UTC+8) affiche l'époque UTC 1970-01-01 00:00:00 sous la forme 1970-01-01 08:00:00.

  • var2 : La valeur de timezone2 est Asia/Shanghai, ce qui correspond au fuseau horaire de l'environnement d'exécution Flink. L'entrée étant déjà exprimée dans le fuseau Asia/Shanghai, la valeur TIMESTAMP reste inchangée : 1970-01-01 00:00:00.

  • var3 : La valeur de timezone3 est America/New_York (UTC-5). Minuit à New York équivaut à 1970-01-01 05:00:00 UTC, heure que l'environnement d'exécution Flink situé dans le fuseau Asia/Shanghai (UTC+8) affiche comme 1970-01-01 13:00:00.