Sha*_*kar 4 string hive substring hiveql
我想使用 hiveql UDF 检查字符串是否包含任何特定字符?
我遇到了下面的一个。
find_in_set(str, strlist)
Run Code Online (Sandbox Code Playgroud)
这是要使用的正确UDF吗?
例如:
下面的列的值中包含“1”。
column1 = "test1String"
Run Code Online (Sandbox Code Playgroud)
我需要编写一个 HiveQL,其中条件返回 column1 值包含 1 的行。
int instr(string str, string substr)
Run Code Online (Sandbox Code Playgroud)
返回 substr 在 str 中第一次出现的位置。如果任一参数为 null,则返回 null,如果在 str 中找不到 substr,则返回 0。请注意,这不是基于零的。str 中的第一个字符的索引为 1。
select case when instr (column1, '1') >0 then 'contains' else 'not contains' end from ...
Run Code Online (Sandbox Code Playgroud)
请参阅此参考:https : //cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
还使用rlike:
select case when column1 rlike '1' then 'contains' else 'not contains' end
Run Code Online (Sandbox Code Playgroud)
使用like:
select case when column1 like '%1%' then 'contains' else 'not contains' end
Run Code Online (Sandbox Code Playgroud)
使用locate:
select case when locate('1', column1) >0 then 'contains' else 'not contains' end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10502 次 |
| 最近记录: |