Cum sa gestionezi valorile NULL dintr-o tabela in SQL

Configurare noua (How To)

Situatie

Presupunem ca ai tabela Produse de mai jos:

sql_isnull

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

Tip solutie

Permanent

Voteaza

(17 din 32 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?