2017-07-14 49 views
0

如果源表T1是这样的:我想1列转换为多列

| col1 | 
+---------+ 
| 2-3-4-5 | 
| 6-7  | 
| 8  | 
| 9  | 

然后输出应为4列: -

| col1 | col2 | col3 | col4 | 
+------+------+------+------+ 
| 2 | 3 | 4 | 5 | 
| 6 | 7 |  |  | 
| 8 |  |  |  | 
| 9 |  |  |  | 
+2

运气不好。至少你现在已经学会了不要存储诸如破折号分隔的项目之类的数据。 – jarlh

+0

标记您正在使用的dbms。某些产品有自己的功能,可能在此处变得方便。 – jarlh

+0

我正在使用Oracle数据库11g企业版版本11.2.0.1.0 - 64位。 SQL> select * from new_tab; STR ------------ 1-2-3-4 4-5-6 6-7 SQL> –

回答

2

它不是直接的答案问题仍然存在,我想做一个笔记。如果你可以利用ETL工具,它会更容易,并且会给你很多数据转换的控制权。 您可以在源中使用不同类型的数据,例如。 2-3-4, 5, 6-71 2 3, 45 1, 21 10(或任何有关此事的内容)并对其进行转换。