插入Select Sql

时间:2018-06-19 05:35:48

标签: sql oracle

如果您知道如何将值插入添加到现有表中的列,请回答我。您的回答将受到高度赞赏

insert into table a
(name, id)
select col
from table2
;

select col from table2; 

这个sql col数据是'john','1' 这是无法通行的?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用基本字符串函数:

INSERT INTO TABLE a (name, id)
SELECT
    SUBSTR(col, 1, INSTR(col, ',') - 1),
    SUBSTR(col, INSTR(col, ',') + 1)
FROM table2;

如果您不想插入插入引号,那么我们可以稍微修改以上内容:

INSERT INTO TABLE a (name, id)
SELECT
    SUBSTR(col, 2, INSTR(col, ',') - 2),
    SUBSTR(col, INSTR(col, ',') + 2, LEN(col) - INSTR(col, ',') - 2)
FROM table2;

正如上面评论中所提到的,将CSV数据存储在表格中通常不是一个好主意。但是你的问题很好,因为你试图通过将每个值移动到一个新列来解决这个问题。