Mysql
 sql >> Database >  >> RDS >> Mysql

Differenza tra MySQL NON È NULL e !=''

Sì, c'è una grande differenza tra un NULL valore e un valore vuoto/vuoto.

Ecco una risorsa che descrive le differenze.

Quando myText IS NULL :

  • myText IS NOT NULL restituisce FALSE
  • myText != '' restituisce NULL (che essenzialmente si comporta come FALSE in questo caso specifico hai scritto)

Tuttavia, non dovresti prendere l'abitudine di trattarli allo stesso modo, poiché la maggior parte delle volte si comporteranno in modo diverso:Ad esempio:

Supponi di avere una tabella tbl :

id   text
1    NULL
2    
3    abc

Nota: 1 contiene un NULL value e 2 contiene una stringa vuota ('' ).

Se esegui la seguente query:

SELECT * FROM tbl WHERE text != ''

... restituirà il record 3.

Se esegui la seguente query:

SELECT * FROM tbl WHERE text IS NOT NULL

... restituirà i record 2 e 3.