TO_TIMESTAMP_TZ函數用於將VARCHAR類型的日期,根據Flink運行環境所在時區,轉換成相應時區的TIMESTAMP類型的日期。
文法
TIMESTAMP TO_TIMESTAMP_TZ(VARCHAR date, VARCHAR timezone)
TIMESTAMP TO_TIMESTAMP_TZ(VARCHAR date, VARCHAR format,VARCHAR timezone)
入參
參數 | 資料類型 | 說明 |
date | VARCHAR | VARCHAR類型的日期。 |
format | VARCHAR | 參數date日期格式。預設格式為yyyy-MM-dd HH:mm:ss。 |
timezone | VARCHAR | 參數date的時區,例如Asia/Shanghai。 說明 該參數如果不是標準支援的時區,預設使用UTC時區。 |
樣本
說明
該樣本運行環境所在時區為GMT+8。
測試資料
表 1. 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
測試語句
SELECT TO_TIMESTAMP_TZ(timestamp1, timezone1) AS var1, TO_TIMESTAMP_TZ(timestamp2, format2, timezone2) AS var2, TO_TIMESTAMP_TZ(timestamp3, format3, timezone3) AS var3 FROM T1;
測試結果
var1(VARCHAR)
var2(VARCHAR)
var3(VARCHAR)
1970-01-01 08:00:00
1970-01-01 00:00:00
1970-01-01 13:00:00