Ano, je velký rozdíl mezi NULL
hodnotu a prázdnou/prázdnou hodnotu.
Zde je jeden zdroj který popisuje rozdíly.
Když myText IS NULL :
myText IS NOT NULLvyhodnotí jakoFALSEmyText != ''se vyhodnotí jakoNULL(který se v podstatě chová stejně jakoFALSEby v tomto konkrétním případě jste napsal)
Neměli byste si však zvyknout zacházet s nimi stejně, protože se většinou budou chovat jinak:Například:
Předpokládejme, že máte tabulku tbl :
id text
1 NULL
2
3 abc
Poznámka: 1 obsahuje NULL hodnota a 2 obsahuje prázdný řetězec ('' ).
Pokud spustíte následující dotaz:
SELECT * FROM tbl WHERE text != ''
... vrátí záznam 3.
Pokud spustíte následující dotaz:
SELECT * FROM tbl WHERE text IS NOT NULL
... vrátí záznamy 2 a 3.