Cassandra 查询字符串长度
Cassandra query string length
如何在 Cassandra 中获取字符串的长度?似乎没有任何内置函数可以为我执行此操作。
正在寻找这样的东西:
SELECT size(myStr) FROM myTable WHERE ...
我知道这可以使用用户定义的函数实现,但我不确定我是否有适当的权限来创建函数。
可以制作一个 UDF 来完成它,但是 none 内置在 cassandra 中。
它没有内置函数,但您可以在 Cassandra 中创建 UDF
来查找字符串列的长度,然后在查询中使用该 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
如何在 Cassandra 中获取字符串的长度?似乎没有任何内置函数可以为我执行此操作。
正在寻找这样的东西:
SELECT size(myStr) FROM myTable WHERE ...
我知道这可以使用用户定义的函数实现,但我不确定我是否有适当的权限来创建函数。
可以制作一个 UDF 来完成它,但是 none 内置在 cassandra 中。
它没有内置函数,但您可以在 Cassandra 中创建 UDF
来查找字符串列的长度,然后在查询中使用该 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