已解决
Flink SQL 时区 -- 时间字符串转时间戳并转换时区
来自网友在路上 164864提问 提问时间:2023-10-22 05:11:37阅读次数: 64
最佳答案 问答题库648位专家为你答疑解惑
文章目录
- 一、数据需求:
- 二、探索路程
- 1、UNIX_TIMESTAMP + CONVERT_TZ
- 2、UNIX_TIMESTAMP
- 三、解决方案
- TIMESTAMPADD + TO_TIMESTAMP
一、数据需求:
将时间字符串格式化,转变成时间戳,再加8小时后写入clickhouse
2023-10-17T03:00:42.506205807 ----> 2023-10-17 11:00:42.506
二、探索路程
1、UNIX_TIMESTAMP + CONVERT_TZ
(该方法默认精确度为秒,不适用毫秒)
(1)UNIX_TIMESTAMP
作用:将时间字符串转换成时间戳
用法:UNIX_TIMESTAMP(STRING datestr, STRING format)
eg:UNIX_TIMESTAMP('1970-01-01 08:00:01', 'yyyy-MM-dd HH:mm:ss.SSS')
(2)CONVERT_TZ
作用:转换时区
用法:CONVERT_TZ(string1, string2, string3)
eg:CONVERT_TZ('1970-01-01 08:00:01', 'UTC', 'Asia/Shanghai')
2、UNIX_TIMESTAMP
(实测仅获取当前10位时间戳)
作用:将时间字符串转换成时间戳,并转换时区
用法:UNIX_TIMESTAMP(‘1970-01-01 08:00:01.001 +0800’, ‘yyyy-MM-dd HH:mm:ss.SSS X’);
三、解决方案
TIMESTAMPADD(HOUR, 8, TO_TIMESTAMP(replace(substring('2023-10-17T03:00:42.506205807',0,23),'T',' ')));
TIMESTAMPADD + TO_TIMESTAMP
(1)TIMESTAMPADD
作用:给时间戳加上任意时间
用法:TIMESTAMPADD(timeintervalunit, interval, timepoint)
eg:TIMESTAMPADD(HOUR, 8, 1696932862000)
(2)TO_TIMESTAMP
作用:将时间字符串转换成时间戳
用法:TO_TIMESTAMP(string1[, string2])
eg:TO_TIMESTAMP('1970-01-01 08:00:01.001')
查看全文
99%的人还看了
相似问题
- 时态图根据时间轴动态播放热力图
- 微信小程序发货信息录入接口 错误上传时间非法,请按照 RFC 3339 格式填写?
- 时间序列预测实战(十七)PyTorch实现LSTM-GRU模型长期预测并可视化结果(附代码+数据集+详细讲解)
- 设置指定时间之前的时间不可选
- C#关于TimeSpan结构的使用和获取两个时间差
- c++ 获取当前时间(精确至秒、毫秒和微妙)
- ChatGpt3.5已经应用了一段时间,分享一些自己的使用心得.
- java 统计代码运行时间
- 个人博客添加访问人数以及访问时间-githubpage
- 多维时序 | MATLAB实现PSO-BiGRU-Attention粒子群优化双向门控循环单元融合注意力机制的多变量时间序列预测
猜你感兴趣
版权申明
本文"Flink SQL 时区 -- 时间字符串转时间戳并转换时区":http://eshow365.cn/6-21332-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!