Ho visto molte persone usare la funzione COALESCE al posto di ISNULL. Dalle ricerche su Internet, ho scoperto che COALESCE è lo standard ANSI, quindi c'è un vantaggio che sappiamo cosa aspettarci quando lo utilizziamo. Tuttavia, ISNULL sembra più facile da leggere poiché sembra più chiaro cosa sta facendo.
Mi rendo anche conto che ISNULL è un po 'complicato poiché agisce in modo diverso su server di database diversi e in lingue diverse.
Tutto ciò, secondo me, si riduce a stile e standard. Dato che lo stile è soggettivo, c'è qualche motivo per usare COALESCE su ISNULL (o viceversa)? In particolare, c'è un vantaggio prestazionale dell'uno rispetto all'altro?
COALESCE
è semplicemente non intuitivo;)
COALESCE
viene valutata due volte.