蜂巢:在一列中替换多个字符串

时间:2019-07-15 02:14:02

标签: sql hive hiveql

用这样的函数一次替换一个字符很容易:

regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT)

但是如何一次处理一列中的多个字符串替换?

例如,对于从A到@,B到#,C到Z的关系,如何将"ABC"更改为"@#Z"

1 个答案:

答案 0 :(得分:1)

使用translate(input, from, to)函数,它通过将from字符串中的字符替换为to字符串中的相应字符来翻译输入字符串:

hive> select translate('initial string ABC A B C','ABC','@#Z');
OK
initial string @#Z @ # Z
Time taken: 0.063 seconds, Fetched: 1 row(s)