我正在对一个存储值为Unix时间戳的列执行CQL查询,但希望结果输出为日期时间格式。有没有办法实现这个功能?
例如以下内容:
select convertToDateTime(column) from table;
我正在努力回忆是否有一种更简单、更直接的方法。但如果您有一个UNIX时间戳的表格,并希望以日期时间格式显示它,您可以将dateOf
和min
/maxTimeuuid
函数结合在一起,就像这样:
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
将其转换为日期时间戳。