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命令行下用户管理方法分享

    mysql命令行下用户管理方法分享

    如果有mysql管理工具phpmyadmin的话,我们可以通过图形画界面来对用户进行管理,但是如果没有phpmyadmin这样的管理工具怎么办呢
    2012-07-07
  • Mysql中常用的几种join连接方式总结

    Mysql中常用的几种join连接方式总结

    join语句是面试中经常会让你现场写出来的语句,下面这篇文章主要给大家介绍了关于Mysql中常用的几种join连接方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • MySQL 8.0 之索引跳跃扫描(Index Skip Scan)

    MySQL 8.0 之索引跳跃扫描(Index Skip Scan)

    这篇文章主要介绍了MySQL 8.0 之索引跳跃扫描(Index Skip Scan)的相关资料,帮助大家学习MySQL8.0的新特性,感兴趣的朋友可以了解下
    2020-10-10
  • mysql数据库保存路径查找方式

    mysql数据库保存路径查找方式

    这篇文章主要介绍了mysql数据库保存路径查找方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教方法
    2023-05-05
  • mysql如何将一个字段赋值给另一个字段

    mysql如何将一个字段赋值给另一个字段

    这篇文章主要介绍了mysql如何将一个字段赋值给另一个字段,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 在C#和MySQL中存取中文字符时避免乱码的方法

    在C#和MySQL中存取中文字符时避免乱码的方法

    这篇文章主要介绍了在C#和MySQL中存取中文字符时避免乱码的方法,主要还是老办法先转换成Unicode编码,需要的朋友可以参考下
    2015-05-05
  • MySql采用GROUP_CONCAT合并多条数据显示的方法

    MySql采用GROUP_CONCAT合并多条数据显示的方法

    这篇文章主要介绍了MySql采用GROUP_CONCAT合并多条数据显示的方法,是MySQL数据库程序设计中常见的实用技巧,需要的朋友可以参考下
    2014-10-10
  • MySQL最左匹配原则详细分析

    MySQL最左匹配原则详细分析

    首先回顾一下什么是最左匹配(也有称之为最左前缀)?顾名思义:最左优先,以最左边的为起点任何连续的索引都能匹配上。同时遇到范围查询(>、<、between、like)就会停止匹配
    2022-12-12
  • mysqldump进行数据备份详解

    mysqldump进行数据备份详解

    这篇文章主要介绍了mysqldump进行数据备份详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以惨一下
    2022-07-07
  • MySQL基础教程之DML语句详解

    MySQL基础教程之DML语句详解

    DML 语句是指对数据库中表的记录进行的操作,下面这篇文章主要给大家介绍了关于MySQL基础教程之DML语句的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12

最新评论