2017-12-26 26 views
0

특정 조건에 따라 하이브의 컬럼에서 마지막 캐릭터 만 바꾸고 싶습니다. 나는 결과를 원하는 반면마지막 위치에있는 캐릭터 만 하이브로 교체합니다. - 하이브

15101 A5A0A 

은 다음과 같습니다 :

15101 1510A 

하는 사람이 도와 주실 수는 다음과 같이 내 코드로이 코드에 대한 그래서

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 

, 나는 결과를 얻을 수있다 나도 같은거야?

답변

2

당신은 다만 할 수 있습니다 쉬웠다

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) 
+0

은 ... 몰라가 ... 정말 감사에 대해 생각하지 왜! –