将数据拆分为一列,并使用拆分数据更新新列
问题描述:
我正在使用Oracle 10g。我的表的一列中存储了一些数据,如下面所示。将数据拆分为一列,并使用拆分数据更新新列
1722999340KK000200000 1444210829AB1001EX003 1444300000CD0148EX003 1722999340KL000200000
我想在数字的比率有关的数据分割(4; 6; 6; 5)如下所示,并将其存储在不同的列
(A1 || A2 || A 3 || A4) 1444 || 210829 || AB1001 || EX003
感激,如果有人可以给我一些关于如何实现相同的指针。
答
对于甲骨文,我不是专家,但让我们试试看。假设原来的列名为ORIG,和原来的数据是一些字符串类型:
update <tablename> set A1 = substr(ORIG, 0, 4),
A2 = substr(ORIG, 4, 6),
A3 = substr(ORIG, 10, 6),
A4 = substr(ORIG, 16, 5);
希望这有助于
汤姆
SUBSTR函数肯定是实现最简单的方法。 – kdmurray 2009-11-10 08:20:11
谢谢汤姆。几乎是正确的。必须对数字位置进行小的修改。 (tempcol,4,6), C3 = substr(tempcol,10,6), C4 = substr(tempcol,16,5)更新temptab组C1 = substr(tempcol,0,4), C2 = substr ; 再次感谢! – novice 2009-11-10 08:43:30
不客气。但是,我看不到你的数字在哪里不同... – 2009-11-10 08:47:42