我想使用hiveql udf来检查字符串是否包含任何特定字符?我碰到下面的那个。
find_in_set(str, strlist)
这是正确的自定义项吗?例如:以下列的值中包含“1”。
column1 = "test1String"
我需要编写一个hiveql,其中返回column1值的行的条件包含1。
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 :
rlike
select case when column1 rlike '1' then 'contains' else 'not contains' end
使用 like :
like
select case when column1 like '%1%' then 'contains' else 'not contains' end
使用 locate :
locate
select case when locate('1', column1) >0 then 'contains' else 'not contains' end
1条答案
按热度按时间sdnqo3pr1#
返回在str中第一次出现substr的位置。如果其中一个参数为null,则返回null;如果在str中找不到substr,则返回0。请注意,这不是基于零的。str中的第一个字符具有索引1。
参考如下:https://cwiki.apache.org/confluence/display/hive/languagemanual+udf
同时使用
rlike
:使用
like
:使用
locate
: