【问题标题】:Cassandra query string lengthCassandra 查询字符串长度
【发布时间】:2018-09-15 09:06:29
【问题描述】:

如何在 Cassandra 中获取字符串的长度?似乎没有任何内置函数可以为我执行此操作。

寻找这样的东西:

SELECT size(myStr) FROM myTable WHERE ...

我知道这可以使用用户定义的函数来实现,但我不确定我是否拥有能够创建函数的适当权限。

【问题讨论】:

    标签: cassandra cql string-length


    【解决方案1】:

    它没有内置函数,但您可以在 Cassandra 中创建 UDF 以查找 String 列的长度,然后在查询中使用该 UDF。在创建此 UDF 之前,请确保您已在 cassandra.yml 文件中启用 udf 属性,即 enable_user_defined_functions: true

    CREATE FUNCTION IF NOT EXISTS len (input text) 
       CALLED ON NULL INPUT 
       RETURNS int 
       LANGUAGE java AS '
       return input.length();';
    

    然后你可以在你的查询中使用它,

    cqlsh:test> SELECT len(event_data) as length from event where id = 1;
    

    你应该得到输出,

     length
    --------
         14
    

    【讨论】:

      【解决方案2】:

      可以制作一个 UDF 来执行此操作,但 cassandra 中没有内置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-18
        • 1970-01-01
        • 2018-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多