当 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,
我在 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,