MySql: “if null then zero”

Problem:

Query nam vraća null, a nama treba nula

Rješenje:

1. IFNULL

SELECT IFNULL(fieldName, 0) as fieldName FROM... 

2.COALESCE

SELECT COALESCE(fieldName, 0) as fieldName FROM... 

COALESCE je zanimljiv iz još jednog razloga. Recimo da u bazi osoba imamo osim imena i prezimena također i podatke o službenom i privatnom telefonu i mobitelu.
Budući da COALESCE traži prvu pojavu vrijednosti koja nije null na sljedeći način možemo pretraživati više polja:
COALESCE(sluzbeni_telefon, privatni_telefon, službeni_mobitel, privatni_mobitel, ‘Nema kontakt telefona’)
Ako postoji službeni telefon selektirat će ga, a ako ne prelazi na privatni.
Ako ni on ne postoji prelazi na službeni mobitel itd…
ako ništa od navedenog ne postoji ispisuje ‘nema kontakt telefona’…

Kako riješiti problem praznog stringa kod funkcije COALESCE ?

Evo jednog od rješenja: http://systasis.biz/blog/?p=89


Leave a Reply

You must be logged in to post a comment.