2012-01-10 66 views

回答

2

如果你想在比較積極的結果:

... AND COALESCE(SN2, @SN2) LIKE '%' + @SN2 + '%' 

如果你想有一個負的結果(假設@SN2不也是一個空字符串):

... AND COALESCE(SN2, '') LIKE '%' + @SN2 + '%' 
+1

當前編寫的代碼是否會排除SN2爲空的所有行? – 2012-01-10 15:09:53

+0

我可能是錯的,但是這不會阻止使用包含SN2的索引嗎? – cadrell0 2012-01-10 15:12:40

+0

@PhilipKelley:的確如此。 – 2012-01-10 15:14:20

2

NULL,只有進行比較與IS NOTIS NOT NULL

如果你想始終包含NULL,你可以嘗試

(SN2 like '%'[email protected]+'%' OR SN2 IS NULL) 

如果你只希望包括空當@ SN2是空的,你可以試試

(SN2 like '%'[email protected]+'%' OR (@SN2 = '' AND SN2 IS NULL))