轉自:http://www.maomao365.com/?p=4390 一、coalesce函數簡介coalesce 系統函數,比ISNULL更強大,更方便的系統函數,coalesce可以接收多個參數,返回最左邊不為NULL的參數,當所有參數都為空時,則返回NULLcoalesce是最優isnull ...
轉自:http://www.maomao365.com/?p=4390
一、coalesce函數簡介
coalesce 系統函數,比ISNULL更強大,更方便的系統函數,
coalesce可以接收多個參數,返回最左邊不為NULL的參數,當所有參數都為空時,則返回NULL
coalesce是最優isnull寫法解決方案
以前我們使用isnull對兩列或多列數據進行為空返回時候,需要多次使用isnull函數
—————————————————————————-
例:
declare @a varchar(10),@b varchar(10),@c varchar(10)
當@a為null時,我們查看@b是否為NULL,不為null,則返回@b ,否則查看@c 不為NULL,則返回@c ,否則返回NULL
select isnull(@a,isnull(@b,isnull(@c,null)))
/*當需判斷的參數越多時,我們的函數表達式就會變的異常複雜*/
但我們使用coalesce函數,會使此 表達式變的優美,通俗易懂
select coalesce(@a,@b,@c)
——————————————————————————–
二、coalesce 應用舉例
declare @a varchar(10),@b varchar(10),@c varchar(10),@d int select coalesce(@a,@b,@c) set @a ='g' select coalesce(@a,@b,@c) set @a =null set @b ='g2' set @c ='g3' select coalesce(@a,@b,@c) set @a =null set @b =null set @c =null set @d =100 select coalesce(@a,@b,@c,@d)