Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 配置单元-将单元拆分为多个列_Sql_Hive_Hiveql - Fatal编程技术网

Sql 配置单元-将单元拆分为多个列

Sql 配置单元-将单元拆分为多个列,sql,hive,hiveql,Sql,Hive,Hiveql,我已经参考了以前的文章,将一列拆分为两列。看起来我所指的示例是sql,与Hive相比可能有所不同。如何将下面的原始数据转换为结果数据 orig_data name location code Andrew M NY 145-ABG Paul C NY 1787-ATG Kate M NY 3874-WV results name

我已经参考了以前的文章,将一列拆分为两列。看起来我所指的示例是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;

使用
substr
instr

select 
name, location,
substr(code, 1, instr(code,'-')-1) as id, 
substr(code, instr(code,'-')+1) as per
from orig_table;
以下是一个例子:

INSERT INTO TABLE bdp.optrans_tbl
SELECT
CONCTNS.splitted_cnctns[0] AS con1,
CONCTNS.splitted_cnctns[1] AS con2,
CONCTNS.splitted_cnctns[2] AS con3
FROM
(SELECT
split(connections,',') AS splitted_cnctns FROM bdp.transact_tbl)CONCTNS;
要了解更多信息,请参见

删除len(代码)后,它从第4行开始工作。。。谢谢