【问题标题】:Getting error when using concat when I try to add a space?尝试添加空格时使用 concat 时出错?
【发布时间】:2020-12-02 21:11:19
【问题描述】:

我只是想将所有者的名字和姓氏合并到一个列中,而我的工作方式是这样的>

select 
  dog_name, dog_breed, dog_gender, dog_age, dog_weight,
  concat(own_first_name,' ', own_last_name) as own_name 
from dog join owner on dog.own_num = owner.own_num 
order by dog.dog_breed ASC;

但问题是名字之间没有空格,所以我做了很多研究,发现他会是最好的方法>

select dog_name, dog_breed, dog_gender, dog_age, dog_weight, 
  concat(own_first_name, own_last_name) as own_name 
from dog join owner on dog.own_num = owner.own_num 
order by dog.dog_breed ASC;

当我这样做时,我得到了这个>

ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:
Error at Line: 185 Column: 62

【问题讨论】:

  • 您使用的是 Oracle 而不是 MySql。 Oracle 的 concat() 不支持超过 2 个参数。使用|| 运算符。
  • 请在您的问题中添加一些示例数据和预期输出。

标签: sql oracle format concat


【解决方案1】:

如果您使用的是 Oracle:

select dog_name, dog_breed, dog_gender, dog_age, dog_weight, RTRIM(own_first_name)||' '|| RTRIM(own_last_name) AS own_name

SQL 服务器:

select dog_name, dog_breed, dog_gender, dog_age, dog_weight, RTRIM(own_first_name)+' '+ RTRIM(own_last_name) AS own_name

访问:

select dog_name, dog_breed, dog_gender, dog_age, dog_weight, own_first_name&' '&own_last_name AS own_name

如果您需要更多详细信息,快速搜索连接列应该会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2013-08-01
    相关资源
    最近更新 更多