在一列中拆分数据并使用拆分数据更新新列

时间:2009-11-10 08:03:25

标签: sql oracle10g

我正在研究Oracle 10g。我的表中的一列存储数据,如下所示。

1722999340KK000200000

1444210829AB1001EX003

1444300000CD0148EX003

1722999340KL000200000

我想以数字(4; 6; 6; 5)的比例分割数据,如下所示,并将其存储在不同的列中

( A1 ||   A2   ||   A  3 || A4 )

1444 || 210829 || AB1001 || EX003

感谢有人能给我一些关于如何达到目标的指示。

1 个答案:

答案 0 :(得分:3)

对于Oracle来说,我不是专家,但让我们试一试。假设原始列名为ORIG,原始数据是某种字符串类型:

update <tablename> set A1 = substr(ORIG, 0, 4),
                       A2 = substr(ORIG, 4, 6),
                       A3 = substr(ORIG, 10, 6),
                       A4 = substr(ORIG, 16, 5);

希望这有帮助

汤姆