Hive学习(11)hive去除空格或去掉字符串前后或中间的某一字符串

问题:

HIVE中不支持trim(leading)、trim(trailing)、trim(both) 函数

需求:需要去除字符串中前N位/后N位指定字符

例如:11ABC11

  1. MySQL中可使用以下函数解决:
1>. 去掉左边指定的字符串
 TRIM(LEADING 'a' FROM '11ABC11')
2>.  去掉右边指定的字符串
TRIM(TRAILING 'a' FROM '11ABC11') 用于去除字符串结尾的指定字符;
3>. 去掉前后指定的字符串
TRIM(BOTH 'a' FROM '11ABC11')

补充:
	trim() 用于去除原字段左右两边的空格
	ltrim()和rtrim()用于去除原字段左/右的空格
  1. Hive中可使用以下函数解决:
1>. 去掉左边指定的字符串(去除 '11ABC11’开头的所有1)
regexp_replace('11ABC11', '^(1*+)', '')

2>. 去掉右边指定的字符串(去除 '11ABC11’结尾的所有1)
regexp_replace('11ABC11', '(1*+)$', '')

其他函数亦可利用正则表达式规则自行变换替代。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值