谁能告诉我Hive SQL中ltrim(s,t)和rtrim(s,t)的等效Netezza SQL函数是什么?我真的很感激!
我在Netezza SQL中知道,
选择ltrim('abcd','a');
'bcd'
选择rtrim('abcd','d');
'abc'
但是呢
选择ltrim('aaaabaabcd','a');
选择rtrim('abcdbddddd','d');?
Hive SQL中ltrim()和rtrim()的等效函数是什么?
在Hive中,可以使用regexp_replace来完成。
向左修剪:
select regexp_replace('aaaabaabcd','^a*','');
OK
baabcd
右修剪:
select regexp_replace('aaaabaabcda','a*$','');
OK
aaaabaabcd
左右修剪:
select regexp_replace('aaaabaabcda','^(a*)|(a*)$','');
OK
baabcd
修剪字符:
select regexp_replace('aaaabaabcdabcda','(bcda)*$','');
OK
aaaabaa
Regexp功能强大,您也可以使用regexp_extract函数进行更复杂的转换。参见functions manual。