【问题标题】:How to combine two column with colon ":" in postgres如何在postgres中将两列与冒号“:”结合起来
【发布时间】:2019-11-18 21:48:27
【问题描述】:
我有一张如下表
name1 | name2
-------+--------
ishi | python
ishi | scala
ishi | java
sangee | java
sangee | c#
我需要一个输出为
name
----------------
ishi : python
ishi : scala
ishi : java
sangee : java
sangee : c#
如何将两列连接为一列并用冒号: 连接?
【问题讨论】:
标签:
sql
postgresql
concatenation
concat
【解决方案1】:
随着您的previous question's answer 的跟进,使用CONCAT() 函数将得到预期的结果:
select CONCAT(st.name1, ' : ', dm.name2) AS name
from mainpk ms
join student st on st.id1 = ms.id1
join domain dm on dm.id2 = ms.id2
或使用字符串连接运算符||
select st.name1 || ' : ' || dm.name2 AS name
....
【解决方案2】:
您可以为此使用concat_ws():
select concat_ws(' : ', name1, name2) as name
from the_table;
concat_ws() 将正确处理 NULL 值和空字符串(不像 name1||' : '||name2)