hiveql-string是否在hiveql udf中包含等价项?

dldeef67  于 2021-06-29  发布在  Hive
关注(0)|答案(1)|浏览(388)

我想使用hiveql udf来检查字符串是否包含任何特定字符?
我碰到下面的那个。

find_in_set(str, strlist)

这是正确的自定义项吗?
例如:
以下列的值中包含“1”。

column1 = "test1String"

我需要编写一个hiveql,其中返回column1值的行的条件包含1。

sdnqo3pr

sdnqo3pr1#

int instr(string str, string substr)

返回在str中第一次出现substr的位置。如果其中一个参数为null,则返回null;如果在str中找不到substr,则返回0。请注意,这不是基于零的。str中的第一个字符具有索引1。

select case when instr (column1, '1') >0 then 'contains' else 'not contains' end from ...

参考如下:https://cwiki.apache.org/confluence/display/hive/languagemanual+udf
同时使用 rlike :

select case when column1 rlike '1'  then 'contains' else 'not contains' end

使用 like :

select case when column1 like '%1%'  then 'contains' else 'not contains' end

使用 locate :

select case when locate('1', column1) >0 then 'contains' else 'not contains' end

相关问题