【问题标题】:Cassandra: Getting TTL values with Select *Cassandra:使用 Select * 获取 TTL 值
【发布时间】:2020-08-30 14:15:42
【问题描述】:

我通过 JAVA 代码调用 CQLSH 查询。 查询是 SELECT key,column1,column2,value,ttl(value) AS ttl FROM TABLE

这很好用。

触发查询的所有表都有一个名为 value 的列。但是某些表格缺少 column2

所以如果我能写出这样的东西,动态地使用上面的查询,那就太好了。 从 TABLE 中选择 *,ttl(value) AS ttl。

但看起来直接没有选项可以做到这一点。我错过了什么吗?或者我将不得不为我的每个表手动构建查询。

【问题讨论】:

    标签: cassandra nosql cqlsh ttl scylla


    【解决方案1】:

    您需要动态构建查询。我们无法选择 * 和附加列。选择查询结构请参考https://cassandra.apache.org/doc/latest/cql/dml.html。它期望“select_clause”或*,从不两者都

    select_statement ::=  SELECT [ JSON | DISTINCT ] ( select_clause | '*' )
                          FROM table_name
                          [ WHERE where_clause ]
                          [ GROUP BY group_by_clause ]
                          [ ORDER BY ordering_clause ]
                          [ PER PARTITION LIMIT (integer | bind_marker) ]
                          [ LIMIT (integer | bind_marker) ]
                          [ ALLOW FILTERING ]
    select_clause    ::=  selector [ AS identifier ] ( ',' selector [ AS identifier ] )
    selector         ::=  column_name
                          | term
                          | CAST '(' selector AS cql_type ')'
                          | function_name '(' [ selector ( ',' selector )* ] ')'
                          | COUNT '(' '*' ')'
    where_clause     ::=  relation ( AND relation )*
    relation         ::=  column_name operator term
                          '(' column_name ( ',' column_name )* ')' operator tuple_literal
                          TOKEN '(' column_name ( ',' column_name )* ')' operator term
    operator         ::=  '=' | '<' | '>' | '<=' | '>=' | '!=' | IN | CONTAINS | CONTAINS KEY
    group_by_clause  ::=  column_name ( ',' column_name )*
    ordering_clause  ::=  column_name [ ASC | DESC ] ( ',' column_name [ ASC | DESC ] )*
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-09
      • 2015-01-06
      • 1970-01-01
      • 2017-08-17
      • 2021-12-24
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多