【发布时间】:2015-09-26 20:04:46
【问题描述】:
我正在对将值存储为 unix 时间图的列执行 cql 查询,但希望将结果输出为日期时间。有没有办法做到这一点?
即类似于以下内容:
select convertToDateTime(column) from table;
【问题讨论】:
我正在对将值存储为 unix 时间图的列执行 cql 查询,但希望将结果输出为日期时间。有没有办法做到这一点?
即类似于以下内容:
select convertToDateTime(column) from table;
【问题讨论】:
我正在努力记住是否有更简单、更直接的路线。但是,如果您有一个带有 UNIX 时间戳的表并希望以日期时间格式显示它,您可以将 dateOf 和 min/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 时间戳或日期时间,因此您需要先使用 min 或 maxtimeuuid 函数将其转换为 TimeUUID。然后您就可以使用dateof 将其转换为日期时间时间戳。
【讨论】: