CQLSH:将 unix 时间戳转换为日期时间
CQLSH: Converting unix timestamp to datetime
我正在对将值存储为 unix timestmap 的列执行 cql 查询,但希望将结果输出为 datetime。有办法吗?
即类似于以下内容:
select convertToDateTime(column) from table;
我正在努力记住是否有更简单、更直接的路线。但是如果你有一个带有 UNIX 时间戳的 table 并且想以日期时间格式显示它,你可以将 dateOf
和 min
/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 时间戳或日期时间,因此您需要先使用 min
或 maxtimeuuid
函数将其转换为 TimeUUID。然后您就可以使用 dateof
将其转换为日期时间戳。
我正在对将值存储为 unix timestmap 的列执行 cql 查询,但希望将结果输出为 datetime。有办法吗?
即类似于以下内容:
select convertToDateTime(column) from table;
我正在努力记住是否有更简单、更直接的路线。但是如果你有一个带有 UNIX 时间戳的 table 并且想以日期时间格式显示它,你可以将 dateOf
和 min
/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 时间戳或日期时间,因此您需要先使用 min
或 maxtimeuuid
函数将其转换为 TimeUUID。然后您就可以使用 dateof
将其转换为日期时间戳。