从hiveql

时间:2018-02-01 21:05:04

标签: hive hiveql

我需要Hive的帮助,我在Hive中尝试了很多功能,但我没能做我需要做的事。

请看以下示例: 3231220-9

我只需要保留除-9之外的所有内容,其余部分不需要。

请帮忙!

3 个答案:

答案 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