0


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

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

标签: hive mysql sql

本文转载自: https://blog.csdn.net/Dreamy_zsy/article/details/125897902
版权归原作者 一个天蝎座 白勺 程序猿 所有, 如有侵权,请联系我们删除。

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

还没有评论