2013-05-30 56 views
1

我一直堅持這一有一段時間了,並希望得到一些幫助。SQL試圖串連「ATTN」在現場時,字段不爲空

我使用SQL 2008和創建視圖來在報表中使用,我試圖做

SELECT 
    SHIPNUMBER 
,BILLADDRESS 
,'ATTNCONTACT' = 'ATTN: ' + BILCONTACT 
FROM PackingList 

不過,我不希望「聯繫人:」出現,如果BILCONTACT ISNULL,我寧願它只是停留空

任何建議

+0

以什麼方式做你沒有做你想要的東西? – hvd

+0

添加'WHERE bilContact IS NOT NULL'? –

+0

@ hvd,如果BILCONTACT isnull然後我仍然得到'ATTN:',我需要它留空或'' – jnoel10

回答

2

使用CASE,但也檢查空字符串。結果是一樣的,但你可以寫任何一種方式。

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 
+0

謝謝wysinawyg – jnoel10

+0

由於'UNKNOWN'和'FALSE'的結果都是因爲'UNKNOWN'和'FALSE'的結果,所以你可以簡化WHEN到'WHERE COALESCE(BILCONTACT,'')!'''' –

+0

甚至'BILCONTACT <>''' 'CASE'跳過那部分。 – hvd