在SQL Impala/Have上计算字符串中单词的最佳方法

n3ipq98p  于 2022-10-21  发布在  Impala
关注(0)|答案(1)|浏览(159)

我需要用SQL Impala/Have计算字符串中的单词。最好的方法是什么?在Oracle中,我使用regexp_count()函数,如下例所示:

SELECT regexp_count('1aa 2bb 3cc', '\s*[a-z]+\s*'); -- result: 3

在 Impala /Hive中,我们不能使用上述功能。实现这一目标的最佳方式是什么?
提前道谢

6yoyoihd

6yoyoihd1#

你能简单地用这个公式吗--字数=空格数+1。
因此计算总长度,然后计算被空字符串删除或替换的所有空格的长度。从第二个开始减去第一个,你会得到空格的个数。
将其加1。

select length('1aa 2bb 3cc') - length(replace('1aa 2bb 3cc',' ',''))+1

相关问题