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