Yazılım
SQL Server COALESCE Fonksiyonu
06 Eylül 2008
1 dk okuma
8471
2
Database`den veri çekerken null degerlerin geri dönmesi her zaman canımı sıkmıstır. Access`de iif, Sql Server`da case ile degerleri replace ettirsekte sorunu çözsekde aslında bu isi yapabilecek daha kolay bir fonksiyon bulunmaktadır. Bu fonksiyonun adı COALESCE` dır. Bu fonksiyon veri çekerken field içersindeki null degeri istedigimiz deger ile replace etmemizi saglar. Kullanımı asagıdaki gibidir;
Kulanımı
Select
top 5
FirstName,
LastName,
COALESCE(MiddleName,`-`) as MiddleName -- Eger MiddleName`deki deger NULL ise yerine "-" yazacak.
From Person.Contact
Sonuç
Gustavo Achong -
Catherine Abel R.
Kim Abercrombie -
Humberto Acevedo -
Pilar Ackerman -
(5 row(s) affected)
Kulanımı
Select
top 5
FirstName,
LastName,
COALESCE(MiddleName,`-`) as MiddleName -- Eger MiddleName`deki deger NULL ise yerine "-" yazacak.
From Person.Contact
Sonuç
Gustavo Achong -
Catherine Abel R.
Kim Abercrombie -
Humberto Acevedo -
Pilar Ackerman -
(5 row(s) affected)
Yorumlar (2)
C
Can HANHAN
17 Oca 2009 14:22
Alternatif olarak IsNull'u da kullanabilirsiniz. SELECT IsNull(MiddleName, '-') Coalesce'nin güzelligi tek bir parametreye bagli kalmamasi. Yani sunun için de kullanabilirsiniz SELECT Coalesce(Firstname, Middlename, Companyname, '-') FROM ... Null olmayan ilk parametreyi dönecektir.
M
melike aslan
01 Eki 2010 02:51
Selam, Genelde NVL de kullanılabilinir. Select top 5 FirstName, LastName, NVL(MiddleName,`-`) as MiddleName -- Eger MiddleName`deki deger NULL ise yerine "-" yazacak. From Person.Contact