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)