Egy másik példát erre a problémára itt találhatunk: a munkahelyeket nem tudjuk egyetlen sztringbe összefűzni akkor, ha valamelyik helyen NULL áll. Azt szeretnénk megoldani, hogy amennyiben NULL van a mezőben, akkor valamilyen érték (pl. üres sztring) kerüljön bele a kifejezésbe, ha nem NULL, akkor pedig maga az érték.
Ebben a példában a könnyebb áttekinthetőség kedvéért csak a mostani_mhely
mezőnél tettük fel, hogy NULL-t tartalmazhat.
MS SQL, Oracle, MySQL: COALESCE()
MySQL:
SELECT csaladinev,utonev,
CONCAT(elso_mhely,' - ', COALESCE(mostani_mhely,'kitöltetlen')) AS munkahelyek
FROM t1
MS SQL:
SELECT csaladinev,utonev,
elso_mhely + ' - ' + COALESCE(mostani_mhely,'kitöltetlen') AS munkahelyek
FROM t1
Oracle:
SELECT csaladinev,utonev,
CONCAT(elso_mhely,CONCAT(' - ', COALESCE(mostani_mhely,'kitöltetlen'))) AS munkahelyek
FROM t1
Ez lesz a kimenet:
csaladinev | utonev | munkahelyek |
---|---|---|
Buzgó | Mócsing | SQL kft - Adat BT |
Bágyadt | Béla | SQL kft - SQL kft |
Ismeretlen | István | SQL kft - kitöltetlen |