我需要Hive的帮助,我在Hive中尝试了很多功能,但我没能做我需要做的事。
请看以下示例: 3231220-9
我只需要保留除-9之外的所有内容,其余部分不需要。
请帮忙!
答案 0 :(得分:2)
如果您想仅保留第一个连字符或其他非数字的数字,则:
regexp_replace(myfield,'[^0-9].*','')
如果它始终是一个连字符后面跟着一个字符的连字符:
regexp_replace(myfield,'-.$','')
答案 1 :(得分:0)
您也可以使用hive> select split('3231220-9','-')[0];
OK
3231220
Time taken: 3.994 seconds, Fetched: 1 row(s)
:
short_critic_content(self,response)
答案 2 :(得分:0)
不像split()函数那样优雅,但这也有效:
select substr('12345678-9', 1, instr('12345678-9','-')-1);
Result: 12345678