Cassandra查询字符串长度

时间:2018-04-05 13:52:17

标签: cassandra cql string-length

如何在Cassandra中获取字符串的长度?似乎没有任何内置函数可以帮我这么做。

寻找这样的事情:

WrapINotify.add_watch_error_list.append(OSError(28, 'No space left on disk'))

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

2 个答案:

答案 0 :(得分:0)

可以制作一个UDF,但没有内置的cassandra。

答案 1 :(得分:0)

没有内置函数,但您可以在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