【问题标题】:HANA DB : How to use CONCAT syntax more than 2 fieldsHANA SQL如何使用CONCAT超过2个字段
【发布时间】:2020-09-11 23:12:54
【问题描述】:

我在 HANA Studio 中使用查询,它的工作

 CASE WHEN T0."U_ISS_SalEmp2" is not null THEN CONCAT
 (T7."SlpName",CONCAT ('+',T0."U_ISS_SalEmp2")) ELSE T7."SlpName" END
 AS"Sales Emp",

但我想 CONCAT 更多字段

例如:

CASE WHEN T0."U_ISS_SalEmp2" is not null THEN CONCAT (T7."SlpName",CONCAT ('+',T0."U_ISS_SalEmp2"),CONCAT
 ('+',T0."U_ISS_SalEmp3"),CONCAT ('+',T0."U_ISS_SalEmp4")) ELSE
 T7."SlpName" END  AS"Sales Emp",

【问题讨论】:

    标签: hana sapb1 hana-studio


    【解决方案1】:

    您可以使用两个管道符号|| 进行链式连接。

    您的示例如下所示:

    CASE 
     WHEN T0."U_ISS_SalEmp2" is not null 
          THEN 
              T7."SlpName" || '+' || 
              T0."U_ISS_SalEmp2" || '+' ||
              T0."U_ISS_SalEmp3" || '+' ||
              T0."U_ISS_SalEmp4"
     ELSE
             T7."SlpName" 
    END         AS "Sales Emp"
    

    【讨论】:

    • 我试试这个,但如果条件为真,数据为空
    • 当连接值为NULL 时,连接(CONCAT||)将返回NULL。在您的情况下,"U_ISS_SalEmp2"NOT NULL 但其他值之一是(如果您得到 NULL 作为结果)。为避免这种情况,您可以将每个值包装在 IFNULL(<value>, '') 中。 '' 不是 NULL 而是一个空字符串。这样,您的串联中的NULLs 将被有效地忽略。
    • 我会试试这个。谢谢你的建议
    猜你喜欢
    • 2013-05-10
    • 2018-11-22
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 2017-03-11
    相关资源
    最近更新 更多