如何将 writetime() 返回的值转换为 Scylla CQL 中的日期时间?

问题描述 投票:0回答:1

我想将 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
失败并出现相同的错误。

cassandra cql cqlsh scylla
1个回答
0
投票

基于

SELECT
文档:

一个

SELECT
语句至少包含一个
selection clause
...

选择条款

select_clause
确定需要在结果集中查询和返回哪些列,以及任何 返回之前应用到此结果的转换。它由逗号分隔的选择器列表组成,或者, 或者,使用通配符 (
*
) 选择表中定义的所有列。

选择器

A

selector
可以是以下之一:

  • 选择用于检索该列的值的表的列名称。
  • 强制转换,允许您将嵌套选择器转换为(兼容的)类型。
  • 函数调用,其中参数是选择器本身。
  • 调用
    COUNT
    ,计算所有非空结果。

以及 github 上的 支持算术运算符 问题 Scylla 目前不支持

SELECT
中的文字和算术函数。

可以尝试的一种解决方法是启用实验性功能和 UDF 函数并使用 Lua 脚本(请参阅文档中的示例)。

© www.soinside.com 2019 - 2024. All rights reserved.