在不使用Oracle sql中的更新的情况下交换这两列?

时间:2012-06-01 14:39:44

标签: oracle

Ename     sex
ABC       male
Def       female

男性和女性之间的交换;女性。

输出应为

Male ABC
Female DEF

提前致谢! 准备面试。

2 个答案:

答案 0 :(得分:2)

我假设你有一个如下表所定义的表:

CREATE TABLE EMP
 (ENAME  VARCHAR2(20),
  SEX    VARCHAR2(6));

并且您有以下行:

ENAME          SEX
ABC            male
Def            female

我还会假设你问题中的输出是执行

的结果
SELECT * FROM EMP

现在,要回答您的问题 - 首先获得SEX,然后是ENAME,请尝试以下操作:

SELECT SEX, ENAME FROM EMP

如果您尝试连接SEX和ENAME的值,那么您可以返回单个列,请尝试

SELECT SEX || ' ' || ENAME AS SEX_AND_NAME FROM EMP

分享并享受。

答案 1 :(得分:0)

答案如下:假设表名为EMP

UPDATE TABLE EMP
SET ENAME = SEX,
    SEX = ENAME;

这会交换列enamesex的值而不是列位置。