2016-08-14 4 views
1

ContactPersonタイプはnvarcharです。 ContactPersonn/aISNULLが置換値を返しません。

クエリ

Select ISNULL(ContactPerson,'n/a') from [dbo].[Suppliers] 
+1

「NULL」は「空」と同じではありません。値が 'null'か空の文字列ですか? – Blorgbeard

+0

空の文字列 – Ayman

答えて

3

空の文字列('')とNOT NULL値と同じものを返していない空のとき

問題があります。 ISNULL()は、実際のヌル値の置換値のみを返します。

あなたはNULL値に空の文字列を評価するNULLIF()を使用することができます。

SELECT ISNULL(NULLIF(ContactPerson, ''), 'n/a') ... 
0

私が代わりにISNULLのCOALESCEを使用することをお勧め、NULLIF機能付き:

SELECT COALESCE(NULLIF(ContactPerson,''),'n/a') 
FROM [dbo].[Suppliers] 

あなたは見つけることができますCOALESCEとISNULLの違いhere

関連する問題