TO_TIMESTAMP_TZ

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