Netezza SQL中的ltrim(s,t),rtrim(s,t)如何转换为Hive SQL?

问题描述 投票:0回答:1

谁能告诉我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()的等效函数是什么?

sql hive trim netezza
1个回答
0
投票

在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

© www.soinside.com 2019 - 2024. All rights reserved.