Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Perbedaan antara MySQL IS NOT NULL dan !=''

Ya, ada perbedaan besar antara NULL nilai dan nilai kosong/kosong.

Berikut satu sumber yang menjelaskan perbedaannya.

Ketika myText IS NULL :

  • myText IS NOT NULL mengevaluasi ke FALSE
  • myText != '' mengevaluasi ke NULL (yang pada dasarnya berperilaku sama dengan FALSE akan dalam kasus khusus ini Anda menulis)

Namun, Anda tidak boleh membiasakan diri memperlakukan mereka dengan cara yang sama, karena sebagian besar waktu mereka akan berperilaku berbeda:Misalnya:

Asumsikan Anda memiliki tabel tbl :

id   text
1    NULL
2    
3    abc

Catatan: 1 berisi NULL nilai, dan 2 berisi string kosong ('' ).

Jika Anda menjalankan kueri berikut:

SELECT * FROM tbl WHERE text != ''

... itu akan mengembalikan rekor 3.

Jika Anda menjalankan kueri berikut:

SELECT * FROM tbl WHERE text IS NOT NULL

... itu akan mengembalikan catatan 2 dan 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. Memproses data utf-8 dari MySQL di C++ dan memberikan hasil kembali

  2. MySQL:=true vs true pada BOOLEAN. Kapan sebaiknya menggunakan yang mana? Dan mana yang vendor independen?

  3. mysql pilih tidak bangun untuk bidang varchar

  4. Masukkan beberapa email ke mysql menggunakan satu textarea

  5. java - Sumber Data untuk aplikasi mandiri - tidak ada server aplikasi