where isnull(name,'') <> ''
setara dengan
where name is not null and name <> ''
yang pada gilirannya setara dengan
where name <> ''
(jika nama IS NULL
ekspresi terakhir itu akan dievaluasi menjadi tidak diketahui dan baris tidak dikembalikan)
Penggunaan ISNULL
pola akan menghasilkan pemindaian dan kurang efisien seperti yang dapat dilihat pada pengujian di bawah ini.
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 <> '' */
Yang seharusnya memberi Anda rencana eksekusi yang Anda butuhkan.