ISNULL() în MySQL

Returnează 1 dacă expresia este NULL și 0 în caz contrar (ca IS NULL, dar ca funcție).

Sintaxă
ISNULL(expresie)

Ce face ISNULL()

ISNULL(x) este echivalentul funcției pentru x IS NULL. Nu o confunda cu ISNULL(x, y) din SQL Server, care înlocuiește NULL; în MySQL pentru asta există IFNULL().

Parametri

Parametru Descriere
expresie Valoarea verificată.

Ce returnează

1 sau 0.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE produse (
  id INT PRIMARY KEY,
  nume VARCHAR(30),
  pret DECIMAL(10,2),
  stoc INT,
  reducere INT
);

INSERT INTO produse VALUES
  (1, 'Laptop', 3499.90, 4, NULL),
  (2, 'Mouse', 79.50, 25, 10),
  (3, 'Birou', 899.00, 0, 15),
  (4, 'Scaun', 649.99, 7, NULL),
  (5, 'Monitor', 1199.00, 3, 5);

Exemplul 1: Câte produse nu au reducere

SELECT SUM(ISNULL(reducere)) AS fara_reducere, COUNT(*) AS total FROM produse;

Rezultat

+---------------+-------+
| fara_reducere | total |
+---------------+-------+
|             2 |     5 |
+---------------+-------+

Greșeli frecvente

  • Scrii ISNULL(reducere, 0) ca în SQL Server. În MySQL primești eroare; folosește IFNULL(reducere, 0).

Comenzi înrudite

  • IS NULL: Găsește rândurile în care o coloană nu are valoare (NULL) sau, cu IS NOT NULL, în care are.
  • COALESCE / IFNULL: Înlocuiește NULL cu o valoare implicită: returnează prima valoare care nu este NULL.