Situatie
Presupunem ca ai tabela Produse de mai jos:
Campul UnitatiComanda este optional si poate contine valori NULL.
Avand urmatoarea sintaxa SELECT:
SELECT NumeProdus, PretUnitar * (UnitatiStoc + UnitatiComanda)
FROM Produse
daca una dintre valorile campului UnitatiComanda este NULL, atunci rezultatul va fi NULL.
Solutie
Functia ISNULL() este folosita pentru a specifica gestionarea valorilor NULL. Functiile NVL(), IFNULL() si COALESCE() pot fi utilizate pentru a obtine acelasi rezultat.
In cazul acestui scenariu vrem ca valorile NULL sa fie convertite la zero. Astfel, sintaxa SELECT devine:
SELECT NumeProdus, PretUnitar * (UnitatiStoc + ISNULL(UnitatiComanda,0))
FROM Produse
sau folosind functia NVL():
SELECT NumeProdus, PretUnitar * (UnitatiStoc + NVL(UnitatiComanda,0))
FROM Produse
sau folosind functia IFNULL():
SELECT NumeProdus, PretUnitar * (UnitatiStoc + IFNULL(UnitatiComanda,0))
FROM Produse
sau folosind functia COALESCE():
SELECT NumeProdus, PretUnitar * (UnitatiStoc + COALESCE(UnitatiComanda,0))
FROM Produse
Leave A Comment?