where isnull(name,'') <> ''
. के बराबर है
where name is not null and name <> ''
जो बदले में
. के बराबर हैwhere name <> ''
(यदि नाम IS NULL
. है वह अंतिम अभिव्यक्ति अज्ञात का मूल्यांकन करेगी और पंक्ति वापस नहीं आएगी)
ISNULL
. का उपयोग पैटर्न एक स्कैन में परिणाम देगा और कम कुशल है जैसा कि नीचे दिए गए परीक्षण में देखा जा सकता है।
SELECT ca.[name],
[number],
[type],
[low],
[high],
[status]
INTO TestTable
FROM [master].[dbo].[spt_values]
CROSS APPLY (SELECT [name]
UNION ALL
SELECT ''
UNION ALL
SELECT NULL) ca
CREATE NONCLUSTERED INDEX IX_TestTable ON dbo.TestTable(name)
GO
SELECT name FROM TestTable WHERE isnull(name,'') <> ''
SELECT name FROM TestTable WHERE name is not null and name <> ''
/*Can be simplified to just WHERE name <> '' */
जो आपको वह निष्पादन योजना प्रदान करे जिसकी आपको आवश्यकता है।