如何在oracle中将2列合并(合并)为1?

时间:2013-11-28 14:09:25

标签: sql oracle merge

我有3个文本字段,其中用户类型表名称和2个列名称需要合并。

我应该如何将2个列值合并(合并)为1?

我使用的是oracle 11g企业

4 个答案:

答案 0 :(得分:16)

串连?

select col1 || ' ' || col2 from tablex

答案 1 :(得分:1)

这是一个非常模糊的要求。连接值可能吗?

insert into sometable( Column1 )
values ( Column1 || Column2 );

如果需要将表名指定为INSERT,则需要使用动态SQL来实现此目的。您还需要指定目标列名吗?此示例假定您将使用PL / SQL,这可能不适合您的情况。

sql_stmt := 'INSERT INTO '|| specified_table || '(' || merge_column || ') VALUES ( :1 )';
EXECUTE IMMEDIATE sql_stmt USING column1 || column2;

http://docs.oracle.com/cd/B13789_01/appdev.101/b10807/13_elems017.htm

答案 2 :(得分:0)

您可以创建另一列(辅助列)并将其他2列替换为此列。

答案 3 :(得分:0)

在 Oracle Live 中合并列

SELECT CONCAT (ENAME, JOB) from scott.EMP

上面的命令将合并 ENAMEJOB 列,这两个不同的列将显示在一个列中