我正在尝试从HIVE中的字符串中删除尾随零,例如5634000 -> 5634
我试过了
SELECT RTRIM('1230','0');
但是Hive会抛出以下错误:
Error while compiling statement:
FAILED: SemanticException [Error 10014]: line 41:46
Wrong arguments ''0'': rtrim requires one value argument. Found :2
我也尝试过:
select REGEXP_REPLACE('ABCA','+A$','')
但它也是一个例外。
答案 0 :(得分:1)
答案 1 :(得分:1)
一种方法是将cast
反转的string
设置为int
(将删除反向字符串中的前导零)并转回string
并再次将其反转。
select reverse(cast(cast(reverse(column_name) as int) as string))
from tbl
答案 2 :(得分:1)
select REGEXP_REPLACE('5634000','0+$',''); -> 5634
0+
字面匹配字符0
+
量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)
$
在字符串