Tüm Ürünler
Search
Belge Merkezi

Realtime Compute for Apache Flink:TO_TIMESTAMP_TZ

Son Güncelleme:Oct 04, 2026

Bir VARCHAR tarih dizesini, Flink çalışma zamanı ortamının saat diliminde bir TIMESTAMP değerine dönüştürür.

Söz dizimi

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

İlk sürüm, date parametresini varsayılan yyyy-MM-dd HH:mm:ss biçimini kullanarak ayrıştırır ve belirtilen timezone değerine göre yorumlar.

İkinci sürüm, timezone dönüşümünü uygulamadan önce giriş tarih dizesi için özel bir format belirtmenize olanak tanır.

Giriş parametreleri


Parameter


Data type


Description


date


VARCHAR


Giriş tarih dizesi.


format


VARCHAR


Giriş tarih dizesinin biçimi. Varsayılan değer: yyyy-MM-dd HH:mm:ss. Yalnızca ikinci aşırı yükleme için geçerlidir.


timezone


VARCHAR


Giriş tarihinin saat dilimi; IANA saat dilimi adı olarak belirtilir (örneğin, Asia/Shanghai veya America/New_York). Standart olmayan bir değer sağlanırsa, parametre varsayılan olarak UTC'ye ayarlanır.

Kullanım notları

  • timezone parametresi için IANA saat dilimi adlarını kullanın. Standart olmayan bir değer sağlanırsa, parametre varsayılan olarak UTC'ye ayarlanır.

  • format parametresi yalnızca ikinci aşırı yükleme için geçerlidir. Varsayılan biçim yyyy-MM-dd HH:mm:ss şeklindedir.

Örnek

Aşağıdaki örnekte, Flink çalışma zamanı ortamının Asia/Shanghai saat diliminde (UTC+8) çalıştığı varsayılır.

Test verileri — T1 Tablosu


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

Test ifadesi

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;

Test sonucu


var1 (VARCHAR)


var2 (VARCHAR)


var3 (VARCHAR)


1970-01-01 08:00:00


1970-01-01 00:00:00


1970-01-01 13:00:00

Sonuç açıklaması

  • var1: timezone1 değeri / olarak verilmiştir; bu standart dışı bir değerdir. İşlev UTC'ye geri döner. Asia/Shanghai (UTC+8) üzerindeki Flink çalışma zamanı, UTC epoch değeri olan 1970-01-01 00:00:00 değerini 1970-01-01 08:00:00 olarak gösterir.

  • var2: timezone2 değeri Asia/Shanghai olup Flink çalışma zamanı saat dilimiyle eşleşir. Giriş zaten Asia/Shanghai saatindedir, bu nedenle TIMESTAMP değişmez: 1970-01-01 00:00:00.

  • var3: timezone3 değeri America/New_York (UTC-5) olarak ayarlanmıştır. New York'taki gece yarısı, UTC'de 1970-01-01 05:00:00 değerine karşılık gelir; bu değer, Asia/Shanghai (UTC+8) üzerindeki Flink çalışma zamanında 1970-01-01 13:00:00 olarak görüntülenir.