我有一种情况,我只想根据特定条件替换配置单元中一列中的最后一个字符。 我的代码如下,
select
case
when amtsv111 >= 0 then
case
when substring(amtsv111,-1,1) = '0' then regexp_replace(amtsv111,substring(amtsv111,-1,1),'{')
when substring(amtsv111,-1,1) = '1' then regexp_replace(amtsv111,substring(amtsv111,-1,1),'A')
end
所以对于这段代码,我得到的结果是:
15101 A5A0A
而我想要的结果如下:
15101 1510A
有人可以帮我做同样的事情吗?
最佳答案
你可以这样做:
select (case when amtsv111 like '%0' then concat(substring(amtsv111, 1, length(amtsv111) - 1), '{'
when amtsv111 like '%1' then concat(substring(amtsv111, 1, length(amtsv111) - 1), 'A'
else amtsv111
end)
关于sql - 最后位置的字符只能被替换 - Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47982934/