开发者社区> 问答> 正文

Flink 时间戳类型转换

已解决

Flink 时间戳类型转换

展开
收起
提个问题 2024-06-02 11:07:32 160 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    SQL 时间戳类型转换相关函数如下所示
    • TO_TIMESTAMP(string, simple_format) 将字符串格式的时间戳转为 Timestamp 类型。
    • DATE_FORMAT_SIMPLE (timestamp, simple_format) 将 BIGINT 类型以毫秒为单位的 Unix 时间戳格式化为字符串。
    • DATE_FORMAT(timestamp, format) 将 Timestamp 类型的时间戳格式化为字符串。
    • CONVERT_TZ(string1, string2, string3) 将 string1 表示的时间戳(必须是 'yyyy-MM-dd HH:mm:ss' 格式)从时区(允许缩写例如 "PST",全称例如 "Asia/Shanghai",或者任意时区例如 "GMT-8:00")string2 转换到时区 string3。例如 CONVERT('1970-01-01 00:00:00', 'UTC', 'America/Los_Angeles') 返回 '1969-12-31 16:00:00'。FROM_UNIXTIME(numeric[, string]) 返回 numeric 代表的 Unix 时间戳(从 1970-01-01 00:00:00 UTC 到现今的秒数)转为 'YYYY-MM-DD hh:mm:ss' 格式的字符串。默认使用 UTC+8 时区,即北京时间(Asia/Shanghai)。
    • UNIX_TIMESTAMP() 返回以秒为单位的 Unix 时间戳(从 1970-01-01 00:00:00 UTC 到现今的秒数),类型为 BIGINT。默认使用 UTC+8 时区,即北京时间(Asia/Shanghai)。
    • UNIX_TIMESTAMP(string1[, string2]) 将 string1 字符串以 string2 的格式(可选,默认是 'yyyy-MM-dd HH:mm:ss')转为 Unix 时间戳,类型为 BIGINT。
    • TO_DATE(string1[, string2]) 将 string1 字符串以 string2 的格式(可选,默认是 'yyyy-MM-dd HH:mm:ss')转为 DATE 格式。
    • TO_TIMESTAMP(string1[, string2]) 将 string1 字符串以 string2 的格式(可选,默认是 'yyyy-MM-dd HH:mm:ss')转为 TIMESTAMP 格式。默认使用 UTC+8 时区,即北京时间(Asia/Shanghai)。

    或者使用cast函数实现时间戳类型的转换,cast函数有三种形式,如下所示: 
    • CAST(timestamp_schema AS TIMESTAMP):将timestamp_schema转换为TIMESTAMP类型;
    • CAST(timestamp_schema AS DATE):将timestamp_schema转换为DATE类型;
    • CAST(timestamp_schema AS TIME):将timestamp_schema转换为TIME类型。
    2024-06-02 11:07:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载