我需要帮助Hive,我已经尝试了很多功能,在Hive,我还没有能够做我需要做的。看下面的例子:3231220-9我只需要保留所有的东西,剩下的不需要了。请帮帮我!
pobjuy321#
你可以用 split() 也:
split()
hive> select split('3231220-9','-')[0]; OK 3231220 Time taken: 3.994 seconds, Fetched: 1 row(s)
vecaoik12#
不是像split()函数那样优雅,但这也可以:
select substr('12345678-9', 1, instr('12345678-9','-')-1); Result: 12345678
wgmfuz8q3#
如果只想保留第一个连字符或其他非数字之前的数字,则:
regexp_replace(myfield,'[^0-9].*','')
如果它始终是一个连字符,结尾后跟一个字符:
regexp_replace(myfield,'-.$','')
3条答案
按热度按时间pobjuy321#
你可以用
split()
也:vecaoik12#
不是像split()函数那样优雅,但这也可以:
wgmfuz8q3#
如果只想保留第一个连字符或其他非数字之前的数字,则:
如果它始终是一个连字符,结尾后跟一个字符: