我想将 writetime() 返回的整数时间戳转换为 Scylla cqlsh 中可读的日期时间格式。
经过一番谷歌搜索后,我发现以下适用于 Cassandra 的答案:
TOTIMESTAMP(MINTIMEUUID(WRITETIME(val)/1000))
同样,我在 Scylla CQL 中尝试了相同的操作,但是算术运算符的使用引发了语法错误:
SELECT WRITETIME(val)/1000 ...
SyntaxException: line 1:26 no viable alternative at input ''
我对简单的 select 语句有点困惑
SELECT val/1000
失败并出现相同的错误。
SELECT
文档:
一个
语句至少包含一个SELECT
...selection clause
选择条款
确定需要在结果集中查询和返回哪些列,以及任何 返回之前应用到此结果的转换。它由逗号分隔的选择器列表组成,或者, 或者,使用通配符 (select_clause
) 选择表中定义的所有列。*
选择器
A
可以是以下之一:selector
- 选择用于检索该列的值的表的列名称。
- 强制转换,允许您将嵌套选择器转换为(兼容的)类型。
- 函数调用,其中参数是选择器本身。
- 调用
,计算所有非空结果。COUNT
以及 github 上的 支持算术运算符 问题 Scylla 目前不支持
SELECT
中的文字和算术函数。
可以尝试的一种解决方法是启用实验性功能和 UDF 函数并使用 Lua 脚本(请参阅文档中的示例)。