gpt4 book ai didi

sql - 在 Hive 中寻找在列中具有特殊字符的行

转载 作者:行者123 更新时间:2023-12-04 12:49:53 26 4
gpt4 key购买 nike

我希望在 Hive 中选择列中具有特殊字符 [a-zA-Z0-9] 的行。

我不太确定如何构建 WHERE 子句,但基于其他线程,我认为它应该类似于:

SELECT DISTINCT user_name
FROM user_info
WHERE user_name like regexp_extract('%[^a-zA-Z\d\s:]%')

但是 Hive 提供了这个错误:

Error while compiling statement: FAILED: SemanticException [Error 10014]: Line 3:21 Wrong arguments ''%[^a-zA-Z\d\s:]%'': No matching method for class org.apache.hadoop.hive.ql.udf.UDFRegExpExtract with (string). Possible choices: FUNC(string, string) FUNC(string, string, int)

我应该如何设置 regexp_extract 子句?

谢谢

最佳答案

SELECT DISTINCT user_name
FROM user_info
WHERE user_name rlike '[^a-zA-Z\\d\\s:]'

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-StringOperators

hive> select 'Dudu Markovitz: 123' rlike '[^a-zA-Z\\d\\s:]';
OK
false
hive> select 'Dudu Markovitz: @123' rlike '[^a-zA-Z\\d\\s:]';
OK
true

关于sql - 在 Hive 中寻找在列中具有特殊字符的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40555404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com