hive hql 无trim(leading)函数、ltrim()函数,可用regexp_replace()函数替代

本文探讨了在Hive中使用trim(leading)、trim(trailing)和trim(both)函数遇到的问题,并提供了使用regexp_replace函数作为替代方案的方法。文章详细解释了如何通过正则表达式去除字符串两端指定字符,为遇到类似问题的用户提供了解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

HIVE使用trim(leading)、trim(trailing)、trim(both) 函数报错

原函数作用
trim(leading)用于去除字符串开头的指定字符。
如:去除 '0012300’开头的所有0

select trim(leading ‘0’ from ‘0012300’)
输出结果:12300

同样,
trim(trailing) 用于去除字符串结尾的指定字符;
trim(both) 用于去除字符串开头结尾两侧的指定字符。

ltrim()和rtrim()用于去除原字段左/右的空格

方法

trim(leading ‘0’ from field_name)可使用regexp_replace(field_name, '^(0*+)', '')函数代替
如:去除 '0012300’开头的所有0

select `regexp_replace('0012300', '^(0*+)', '')`

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值