Tsql SQL试图连接';附件「;当字段不为空时,在字段上

Tsql SQL试图连接';附件「;当字段不为空时,在字段上,tsql,string-concatenation,Tsql,String Concatenation,我已经被这个问题困扰了一段时间,希望能得到一些帮助 我正在使用SQL 2008并创建一个用于报表的视图,我正在尝试这样做 SELECT SHIPNUMBER ,BILLADDRESS ,'ATTNCONTACT' = 'ATTN: ' + BILCONTACT FROM PackingList 但是,如果BILCONTACT为null,我不希望“ATTN:”出现,我更希望它保持为null 有什么建议吗 使用大小写,但也要检查空字符串。结果是一样的,但你可以写任何一种方式 SELECT

我已经被这个问题困扰了一段时间,希望能得到一些帮助

我正在使用SQL 2008并创建一个用于报表的视图,我正在尝试这样做

SELECT
  SHIPNUMBER
 ,BILLADDRESS
 ,'ATTNCONTACT' = 'ATTN: ' + BILCONTACT
FROM PackingList
但是,如果BILCONTACT为null,我不希望“ATTN:”出现,我更希望它保持为null


有什么建议吗

使用大小写,但也要检查空字符串。结果是一样的,但你可以写任何一种方式

SELECT  'ATTNCONTACT' = CASE WHEN BILCONTACT IS NOT NULL AND BILCONTACT != '' THEN 'ATTN: ' + BILCONTACT END 
FROM PackingList

SELECT  CASE WHEN BILCONTACT IS NOT NULL AND BILCONTACT != '' THEN 'ATTN: ' + BILCONTACT END AS ATTNCONTACT
FROM PackingList

你没有做的事情以什么方式实现了你想要的?添加
其中bilContact不为NULL
?@hvd,如果bilContact为NULL,那么我仍然会得到“ATTN:”并且我需要它保持为NULL或“”。@David,我仍然需要显示其余字段,即使bilContact为NULL。对不起,如果。。。增加了混乱,我将编辑我的选择以显示更多的信息。@jnoel10那么为了完整起见,另一种解决方案是
'ATTN:'+NULLIF(BILCONTACT'),
。您可以简化合并(BILCONTACT,)时的
!='未知
错误
的结果都会导致
案例
跳过该部分,因此在与“”联系时出现code>甚至