如何在postgres中将两列与冒号“:”结合起来
How to combine two column with colon ":" in postgres
我有一个table如下
name1 | name2
-------+--------
ishi | python
ishi | scala
ishi | java
sangee | java
sangee | c#
我需要输出为
name
----------------
ishi : python
ishi : scala
ishi : java
sangee : java
sangee : c#
如何将两列合并为一个冒号 :
?
您可以使用 concat_ws()
:
select concat_ws(' : ', name1, name2) as name
from the_table;
concat_ws()
将正确处理 NULL 值和空字符串(不同于 name1||' : '||name2
)
跟进您的 , using 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
....
我有一个table如下
name1 | name2
-------+--------
ishi | python
ishi | scala
ishi | java
sangee | java
sangee | c#
我需要输出为
name
----------------
ishi : python
ishi : scala
ishi : java
sangee : java
sangee : c#
如何将两列合并为一个冒号 :
?
您可以使用 concat_ws()
:
select concat_ws(' : ', name1, name2) as name
from the_table;
concat_ws()
将正确处理 NULL 值和空字符串(不同于 name1||' : '||name2
)
跟进您的 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
....