我从一个CSV文件中使用SQLLDR加载数据到表替换与另一列的子一列的数据。有一列不存在于csv文件的每一行中。填充此列所需的数据存在于该行的其他列之一中。我需要拆分(分割(。))该列的数据并填充到该列中。在SQL装载机
,如: -
column1:- abc.xyz.n
所以未知列(列2)应
column2:- xyz
此外,还有另一个列这是目前该行中,但它不是我想要的输入进入桌子。它也需要从column1填充。但是,那里约有50个if-else案例。解码是否可以这样做?
column1:- abc.xyz.n
然后,
column2:- hi if(column1 has 'abc')
if(column1 has 'abd' then 'hello')
这样每年大约有50如果其他案件。
感谢您的帮助。
我会努力实现并取回。我正在考虑为第二部分使用case语句,并为第一部分使用SUBSTR(:column1,INSTR(:column1,'。'),INSTR(:column1,'。', - 1))。这些也会起作用吗? – Jaydeep
我已经尝试过你的方法,效果很好,使用第二部分的功能使工作更快。谢谢 – Jaydeep
@jaydeep很高兴它为你工作。关于你的第一条评论,两者都可以工作,但如果需要改变,将会造成混乱和长期维护。通过这种方式,非编码器可以更新表中的查找值,例如,如果它们发生变化。 –