相当于Hive中的Presto REPLACE函数



我有一个条件,目前在presto下面

replace(replace(replace(replace(replace(replace(replace(replace(UPPER(FIELDNAME),' ',''),'LLC',''),'INC',''),'INTERNATIONAL',''),'LTD',''),'.',''),',',''),'QMT','')

Hive中的等效功能是什么?regexp_replace是否适用于上述场景?

在上面的条件中使用regexp_replace而不是replace,但它会抛出下面的错误。

FAILED: SemanticException [Error 10014]: Line 1:255 Wrong arguments ''('': No matching method for class org.apache.hadoop.hive.ql.udf.UDFRegExpReplace with (string, string). Possible choices: _FUNC_(string, string, string) (state=42000,code=10014)

如果有人能帮上忙,那就太好了。由于

确实如此。Regexp_replace是您可以使用的命令。您可以将要替换的子字符串列表作为以'|'分隔的列表,并且您需要使用''来提供任何可能充当通配符的特殊字符,如-。还是?或者*等等。下面是示例用法:

SELECT regexp_replace(upper(fieldname),'LTD|QMT|INTERNATIONAL|ORG|INC|\.|,| ','') from my_table;

最新更新