CQLSH:将 unix 时间戳转换为日期时间

CQLSH: Converting unix timestamp to datetime

我正在对将值存储为 unix timestmap 的列执行 cql 查询,但希望将结果输出为 datetime。有办法吗?

即类似于以下内容:

select convertToDateTime(column) from table;

我正在努力记住是否有更简单、更直接的路线。但是如果你有一个带有 UNIX 时间戳的 table 并且想以日期时间格式显示它,你可以将 dateOfmin/maxTimeuuid 函数组合在一起,就像这样:

aploetz@cqlsh:Whosebug2> 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:Whosebug2> 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 将其转换为日期时间戳。