Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Różnica między MySQL NIE JEST NULL a !=''

Tak, jest duża różnica między NULL wartość i pusta/pusta wartość.

Oto jeden zasób który opisuje różnice.

Gdy myText IS NULL :

  • myText IS NOT NULL ocenia na FALSE
  • myText != '' ocenia do NULL (który zasadniczo zachowuje się tak samo jak FALSE czy w tym konkretnym przypadku napisałeś)

Jednak nie powinieneś przyzwyczajać się do traktowania ich tak samo, ponieważ w większości przypadków będą się zachowywać inaczej:Na przykład:

Załóżmy, że masz tabelę tbl :

id   text
1    NULL
2    
3    abc

Uwaga: 1 zawiera NULL wartość, a 2 zawiera pusty ciąg ('' ).

Jeśli uruchomisz następujące zapytanie:

SELECT * FROM tbl WHERE text != ''

... zwróci rekord 3.

Jeśli uruchomisz następujące zapytanie:

SELECT * FROM tbl WHERE text IS NOT NULL

... zwróci rekordy 2 i 3.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie danych do wielu tabel PHP MySQL

  2. Wstaw wartości Array wstawiaj do pojedynczego identyfikatora do bazy danych mysql za pomocą php i PDO

  3. Zwracana wartość procedury składowanej MySQL

  4. EF Core `update-database` w MySql kończy się niepowodzeniem z `__EFMigrationsHistory' nie istnieje`

  5. Błąd podczas wstawiania do bazy danych sql za pomocą php