问题:
HIVE中不支持trim(leading)、trim(trailing)、trim(both) 函数
需求:需要去除字符串中前N位/后N位指定字符
例如:11ABC11
- MySQL中可使用以下函数解决:
1>. 去掉左边指定的字符串
TRIM(LEADING 'a' FROM '11ABC11')
2>. 去掉右边指定的字符串
TRIM(TRAILING 'a' FROM '11ABC11') 用于去除字符串结尾的指定字符;
3>. 去掉前后指定的字符串
TRIM(BOTH 'a' FROM '11ABC11')
补充:
trim() 用于去除原字段左右两边的空格
ltrim()和rtrim()用于去除原字段左/右的空格
- Hive中可使用以下函数解决:
1>. 去掉左边指定的字符串(去除 '11ABC11’开头的所有1)
regexp_replace('11ABC11', '^(1*+)', '')
2>. 去掉右边指定的字符串(去除 '11ABC11’结尾的所有1)
regexp_replace('11ABC11', '(1*+)$', '')
其他函数亦可利用正则表达式规则自行变换替代。