【问题标题】:Invalid number of arguments [duplicate]参数数量无效[重复]
【发布时间】:2019-05-02 16:34:27
【问题描述】:

尝试将 3 列合并为一列,但不断收到错误消息,提示我的参数数量无效。

select concat("first_name", " ", "last_name", " ", "job_id")
from employees;

【问题讨论】:

  • select concat(first_name, " ", last_name, " ", job_id) from employees; 试试这个!
  • @JoakimDanielson 是的,它是一个非常基本的两行查询。
  • 不要用错误的数据库标记您的问题。这是oracle,oracle中的concat只带两个参数。
  • "first_name"? " "?这些是什么?字符串文字或列名?它应该是字符串文字的单引号和名称的双引号。但我的建议是完全避免使用引号。只是不要使用任何必要的特殊字符或名称。如果first_name 是列名,则不需要引号,名称本身就有效。

标签: sql oracle


【解决方案1】:

ORA-00909Oracle 错误,而不是 Mysql。
Oracle 中,concat() 只接受 2 个参数。
使用|| 运算符。

select first_name || ' ' || last_name || ' ' || job_id AS NewName from employees;

【讨论】:

  • 太棒了,谢谢。有没有办法重命名新的连接列?
  • 在连接列之后添加名称。请参阅我编辑的答案。
  • 通常我不会,但你是对的,这种连接可能会与没有AS 的别名混淆。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-25
  • 2020-04-20
相关资源
最近更新 更多