2015-12-15 2 views
1

я ссылался на предыдущие посты, чтобы разделить одну колонку на две части. Похоже, примеры, которые я имею в виду являются SQL, которые могут отличаться по сравнению с улья. Как преобразовать исходные данные ниже в данные результатов?Hive - разделить ячейку на несколько колонок

  orig_data 

name  location code 
Andrew M NY   145-ABG 
Paul C  NY   1787-ATG 
Kate M  NY   3874-WV 

      results 

name  location ID  per 
Andrew M NY   145  ABG 
Paul C  NY   1787 ATG 
Kate M  NY   3874 WV 

select 
    name, location, 
    left(code, charindex('-',code) as id, --not working 
    right(code, charindex('-',code) as per, --not working 
from 
    orig_table; 

ответ

0

Использование substr и instr

select 
name, location, 
substr(code, 1, instr(code,'-')-1) as id, 
substr(code, instr(code,'-')+1) as per 
from orig_table; 
+0

после удаления LEN (код) он начал работать из строки 4 ... Спасибо! – sharp

+0

sure..i редактировал его в ответ –