【问题标题】:CQLSH: Converting unix timestamp to datetimeCQLSH:将 unix 时间戳转换为日期时间
【发布时间】:2015-09-26 20:04:46
【问题描述】:

我正在对将值存储为 unix 时间图的列执行 cql 查询,但希望将结果输出为日期时间。有没有办法做到这一点?

即类似于以下内容:

select convertToDateTime(column) from table;

【问题讨论】:

    标签: cassandra cql cqlsh


    【解决方案1】:

    我正在努力记住是否有更简单、更直接的路线。但是,如果您有一个带有 UNIX 时间戳的表并希望以日期时间格式显示它,您可以将 dateOfmin/maxTimeuuid 函数组合在一起,如下所示:

    aploetz@cqlsh:stackoverflow2> SELECT datetime,unixtime,dateof(mintimeuuid(unixtime)) FROM unixtime;
    
     datetimetext   | unixtime      | dateof(mintimeuuid(unixtime))
    ----------------+---------------+-------------------------------
         2015-07-08 | 1436380283051 |      2015-07-08 13:31:23-0500
    
    (1 rows)
    aploetz@cqlsh:stackoverflow2> SELECT datetime,unixtime,dateof(maxtimeuuid(unixtime)) FROM unixtime;
    
     datetimetext   | unixtime      | dateof(maxtimeuuid(unixtime))
    ----------------+---------------+-------------------------------
         2015-07-08 | 1436380283051 |      2015-07-08 13:31:23-0500
    
    (1 rows)
    

    请注意,timeuuid 存储的精度高于 UNIX 时间戳或日期时间,因此您需要先使用 minmaxtimeuuid 函数将其转换为 TimeUUID。然后您就可以使用dateof 将其转换为日期时间时间戳。

    【讨论】:

      猜你喜欢
      • 2020-10-19
      • 2015-02-09
      • 1970-01-01
      • 2020-12-23
      • 2016-04-24
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多