clickhouse复杂时间格式的转换方式

 更新时间:2023年12月21日 16:13:38   作者:阿爵  
这篇文章主要介绍了clickhouse复杂时间格式的转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

clickhouse复杂时间格式转换

1.如果只用toDateTime

你需要拼接成一个完全按照YYYY-MM hh:mm:ss格式的字符串给它

否则,它会当你是一个从1970年偏移的毫秒去转换

SELECT 20191231235959 as expire_date, toDateTime(20191231235959), 
concat(toString(floor(20191231235959/10000000000)), '-', 
toString(floor((20191231235959%10000000000)/100000000)), '-', 
toString(floor((20191231235959%100000000)/1000000)), ' ', 
toString(floor((20191231235959%1000000)/10000)),  ':', 
toString(floor((20191231235959%10000)/100)),  ':', 
toString(floor((20191231235959%10000)/100))) as str, toDateTime(str);

2.也可以这样拼接

toDateTime(concat(substring(toString(watch_end_time), 1, 4), '-', 
substring(toString(watch_end_time), 5, 2), 
'-', substring(toString(watch_end_time), 7, 2), ' 
', substring(toString(watch_end_time), 9, 2),
 ':', substring(toString(watch_end_time), 11, 
2), ':', substring(toString(watch_end_time), 13, 2))) as wet

3.但你可以使用一个更强大的函数

parseDateTimeBestEffort(toString(20191201000407)) as wet

结果:

wet
2019-12-01 00:04:07

附相关文档:

  • parseDateTimeBestEffort

将数字类型参数解析为Date或DateTime类型。

与toDate和toDateTime不同,parseDateTimeBestEffort可以进行更复杂的日期格式。

  • parseDateTimeBestEffortOrNull

与parseDateTimeBestEffort相同,但它遇到无法处理的日期格式时返回null。

  • parseDateTimeBestEffortOrZero

与parseDateTimeBestEffort相同,但它遇到无法处理的日期格式时返回零Date或零DateTime。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL 5.5 range分区增加删除处理的方法示例

    MySQL 5.5 range分区增加删除处理的方法示例

    这篇文章主要给大家介绍了关于MySQL 5.5 range分区增加删除处理的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • MySQL修改时区的方法图文详解

    MySQL修改时区的方法图文详解

    这篇文章主要给大家介绍了关于MySQL修改时区的相关资料,时区是MySQL中非常重要的概念,正确设置时区可以确保应用程序工作正常并避免时间错误,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • MySQL分区表实践指南

    MySQL分区表实践指南

    MySQL分区是一种数据库优化技术,通过将大表或索引分割成多个较小的片段来提高查询性能、管理效率和数据管理,本文详细介绍了MySQL分区的基本概念、工作原理、使用场景以及操作方法,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • MySQL EXPLAIN输出列的详细解释

    MySQL EXPLAIN输出列的详细解释

    这篇文章主要给大家介绍了关于MySQL EXPLAIN输出列的详细解释,文中通过示例代码介绍的非常详细,对大家的学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • MySQL 4种导入数据的方法

    MySQL 4种导入数据的方法

    这篇文章主要介绍了MySQL 导入 导出数据的方法,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • MySQL ifnull()函数的具体使用

    MySQL ifnull()函数的具体使用

    本文主要介绍了MySQL ifnull()函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • MySQL 中定位 DDL 被阻塞的问题及解决方案

    MySQL 中定位 DDL 被阻塞的问题及解决方案

    DDL 被阻塞了,如何找到阻塞它的 SQL?下面,就这个问题,给一个清晰明了、拿来即用的解决方案,本文通过一个简单的demo给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • MySQL9.0的两种部署模式及各个版本发布的新功能

    MySQL9.0的两种部署模式及各个版本发布的新功能

    本文主要介绍了MySQL9.0的两种部署模式及各个版本发布的新功能,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • MySQL FLOAT不准问题解析

    MySQL FLOAT不准问题解析

    在数据库处理中,使用FLOAT类型存储浮点数时,由于二进制表示的限制,会导致精度损失,解决方法包括使用DOUBLE或DECIMAL类型来提高精度,或避免使用浮点数进行精确计算,感兴趣的可以了解一下
    2024-09-09
  • 高效利用mysql索引指南

    高效利用mysql索引指南

    这篇文章主要介绍了高效利用mysql索引指南,你知道如何创建恰当的索引吗?在数据量小的时候,不合适的索引对性能并不会有太大的影响,但是当数据逐渐增大时,性能便会急剧的下降。,需要的朋友可以参考下
    2019-06-06

最新评论