当 1 列为空时,基于 3 列的空复合字段

Empty composite field based on 3 columns when 1 column is empty

我在 SQL Server 2012 中遇到此查询的一些问题。每当 postalcode 为空时,整个 ELSE 语句将提供空值。

我尝试了 Concat 函数,但在此 SQL 服务器版本中无法将其识别为函数。请指教

CASE 
   WHEN adres.CD_land = 'NL' THEN (street) 
   ELSE upper(postalcode + ' '+street) 
END as Street,

使用COALESCE:

CASE 
   WHEN adres.CD_land = 'NL' THEN street 
   ELSE upper(COALESCE(postalcode + ' ', '') + street) 
END as Street

如果您使用的是 2012,它有 concat,可能是您尝试错误的方式..这是语法..

CASE 
   WHEN adres.CD_land = 'NL' THEN (street) 
   ELSE upper(concat(postalcode ,' ',street))
END as Street,