sql - 如何使用分隔符将两列结果合并到一列中

标签 sql oracle11g

我有一个类似的查询

select a.host_coll_code AS "Code", a.description AS "DESCRIPTION" 
from coll_collateral a 

当这个查询运行时,我得到类似这样的结果

   Code          DESCRIPTION
  ---------------------------
   123              ABC
   589              UYR
   ...              ...

我想在带有分隔符的一列中获取结果,例如

Code and Description
---------------------
      123-ABC
      589-UYR
      ....

我该怎么做?

谢谢

最佳答案

通过使用concat函数或连接运算符||:

SQL> with t1(Code, DESCRIPTION) as(
  2    select 123, 'ABC' from dual union all
  3    select 589, 'UYR' from dual
  4  )
  5  select concat(concat(to_char(code), '-'), DESCRIPTION) result
  6    from t1
  7  ;

RESULT
-----------
123-ABC
589-UYR

或者

select to_char(code) || '-' || Description result
  from t1

 RESULT
-----------
123-ABC
589-UYR

关于sql - 如何使用分隔符将两列结果合并到一列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602457/

相关文章:

sql - TSQL 仅删除某些列上的重复行

PHP MySQL 语句什么都不返回?

MySQL - 如果第一列值相同,则查询按第二列排序

oracle - 在子查询 (Oracle) 中引用父查询列

python - 如果满足特定条件如何删除行(Python)

mysql - 如何在MYSQL中创建不同类型的ID?

java - 通过 JDBC 连接 Oracle 11g 时用户名/密码无效(110% 确定登录凭据正确)

database - Oracle:使用动态查询更新多列

sql - Oracle:为对象类型列指定默认值

sql - 如何在 Oracle 中通过 YTD 值计算 MTD 和 QTD