sql >> Databáze >  >> RDS >> Mysql

Rozdíl mezi MySQL NENÍ NULL a !=''

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 NULL vyhodnotí jako FALSE
  • myText != '' se vyhodnotí jako NULL (který se v podstatě chová stejně jako FALSE by 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.



  1. Jak můžete reprezentovat dědictví v databázi?

  2. Jak mohu převést jméno na id

  3. Průměrná délka řádku je vyšší, než je možné

  4. Operátor SQL se rovná (=) pro začátečníky