【问题标题】:Oracle multiple column single AliasOracle 多列单别名
【发布时间】:2014-01-20 14:50:03
【问题描述】:

我正在尝试在 Oracle 11.2.0.1.0 中选择多列并将它们连接在一列中,加号和加号两侧各有一个空格

SELECT ename AS Emplyee_name , deptno AS Department_Number , comm+" + " + sal AS This_Month_Comm_and_sal FROM emp WHERE ename = 'AHMAD';

我收到这个错误

ORA-00904: " + ": 无效标识符

在这个 w3schools 教程W3schools SQL tutorial中也是如此

如何在 ORACLE 中实现相同的结果?

【问题讨论】:

标签: sql oracle


【解决方案1】:

Oracle 中的字符串连接运算符为||: 此处必须使用单引号。

SELECT 
    ename AS Emplyee_name , 
    deptno AS Department_Number , 
    TO_CHAR(comm) || ' + ' || TO_CHAR(sal) AS This_Month_Comm_and_sal 
FROM emp 
WHERE ename = 'AHMAD';

【讨论】:

  • 即使在使用 || 后我仍然遇到同样的错误用于连接。
  • ||standard SQL 中的字符串连接运算符 btw:Oracle 中没有 PSQL 这样的东西。它要么是 PL/SQL——这不是——要么只是 SQL。
  • @Ahmadzkn 如果commsal 是数字类型,则使用TO_CHAR 转换为字符串。
  • @DStanley 'TO_CHAR' 成功了,双引号也必须用单引号替换才能达到预期的结果。非常感谢你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
  • 2013-07-31
  • 2022-11-12
相关资源
最近更新 更多