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

问题

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*+)', '')`

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

你可能感兴趣的:(hive)