【问题标题】: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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-05
        • 2017-05-17
        • 2021-09-28
        • 2020-01-23
        • 1970-01-01
        相关资源
        最近更新 更多