CQLSH:将unix时间戳转换为datetime

Dev*_*tts 8 cql cassandra cqlsh

我在一个列上执行cql查询,该列将值存储为unix timestmap,但希望结果输出为datetime.有没有办法做到这一点?

即如下所示:

select convertToDateTime(column) from table;
Run Code Online (Sandbox Code Playgroud)

Aar*_*ron 9

我想要记住是否有更简单,更直接的路线.但是如果你有一个带有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)
Run Code Online (Sandbox Code Playgroud)

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