Flink SQL 时区 -- 时间字符串转时间戳并转换时区

这篇具有很好参考价值的文章主要介绍了Flink SQL 时区 -- 时间字符串转时间戳并转换时区。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、数据需求:

将时间字符串格式化,转变成时间戳,再加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])文章来源地址https://www.toymoban.com/news/detail-765699.html

eg:
	TO_TIMESTAMP('1970-01-01 08:00:01.001')

到了这里,关于Flink SQL 时区 -- 时间字符串转时间戳并转换时区的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java代码实现带时区时间字符串转为LocalDateTime对象

    可以使用Java 8中的DateTimeFormatter类来将字符串转换为LocalDateTime对象。下面是一个示例代码: 在上面的代码中,我们首先定义了一个时间字符串,然后创建了一个DateTimeFormatter对象,该对象定义了时间字符串的格式。接下来,我们使用parse方法将时间字符串转换为LocalDateTime对象

    2024年02月16日
    浏览(37)
  • [SQL Server]SQL Server数据库中如何将时间日期类型(DateTime)转换成字符串类型(varchar,nvarchar)

    SQL Server数据库中,如何将时间日期类型(DateTime)的数据转换成字符串类型(varchar,nvarchar),并对其进行 yyyy-mm-dd 形式的格式化输出 使用SQL Server的 CONVERT() 函数,如下: SELECT LEFT(CONVERT(VARCHAR, GETDATE(), 120), 10) 或者 SELECT CONVERT(VARCHAR(10), GETDATE(), 120) 在SQL Server 2012及以上版本中,新增

    2024年02月07日
    浏览(53)
  • [22007] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]从字符串转换日期和/或时间时,转换失败。 (241)过滤非法日期格式数据

    出现这个错误是因为你在SQL Server中尝试将一个无效的字符串转换为日期或时间格式。为了解决这个问题,你需要过滤掉不合法的数据。 你可以使用TRY_CONVERT函数来尝试将字符串转换为日期或时间格式,如果转换失败,则返回NULL。然后你可以使用IS NOT NULL来过滤掉这些NULL值。

    2024年02月08日
    浏览(76)
  • Db2的时间转换(字符串,时间戳,Unix时间戳)

    Ubuntu 22.04 Db2 11.5.0 参见 https://www.ibm.com/docs/en/db2/11.5?topic=list-datetime-values Db2有3种时间类型: DATE :例如 03/20/2023 ,当前日期的special register为 CURRENT DATE TIME :例如 21:23:23 ,当前时间的special register为 CURRENT TIME TIMESTAMP :例如 2023-03-20-21.23.49.513704 ,当前时间戳的special register为

    2024年02月08日
    浏览(40)
  • uniapp 0时区转当前时区 字符串转字符串

    0时区转当前时区 字符串转字符串 话不多说直接上干货 打印结果

    2024年01月19日
    浏览(42)
  • Pandas中的字符串和时间转换与格式化

    Pandas 提供了若干个函数来格式化时间。 其中,最常用的是 to_datetime() 函数。 可以使用 to_datetime() 函数将一个字符串解析为时间,并指定字符串的格式。例如: 输出: 还可以使用 strftime() 函数将时间格式化为字符串。例如: 输出: 如果想要格式化某一列中的时间,可以使用

    2024年02月04日
    浏览(35)
  • JS时间对象(Date)与字符串(String)相互转换

    运行结果: D:DevEnvironmentNodeJsnode.exe D:MyProjectscoding-studysrcmainresourcesstaticutils.js format1 = 2022年09月23日 23:24:39.836 星期五 第3季度 format2 = 2022年9月23日 11:24:39.836 am 周五 第3季度 format3 = 2022-09-23 23:24:39.836 am 五 Process finished with exit code 0 运行结果: D:DevEnvironmentNodeJsnode.exe

    2024年02月16日
    浏览(34)
  • SQL SERVER日期与字符串之间的转换

    本文导读:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的。下面主要就介绍一下SQL Server日期时间转字符串的相关知识 一、日期转换为字符串、日期格式 1、使用函数CONVERT: 2、参数 expression :是任

    2024年02月10日
    浏览(41)
  • 52_Pandas处理日期和时间列(字符串转换、日期提取等)

    将解释如何操作表示 pandas.DataFrame 的日期和时间(日期和时间)的列。字符串与 datetime64[ns] 类型的相互转换,将日期和时间提取为数字的方法等。 以下内容进行说明。 如何将 datetime64[ns] 类型指定为索引并将其处理为时序数据以及如何使用,请参考以下文章。 26_Pandas.DataFr

    2024年01月22日
    浏览(36)
  • 前端中不同格式的日期相互转换(字符串、时间戳)js相关

    在项目中遇到了,需要实现字符串和Unix时间戳的相互转换,随手记录一下。 我使用的组件库为Naive UI,涉及到的组件为日期选择器(Date Picker)。作者在文档中写道: 实话说我不喜欢这个 feature,因为多数情况下,传递时间字符串不是个最佳实践。但是现实世界是复杂的,我

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包