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

WHERE Jika kondisi tidak terpenuhi, dapatkan semua nilai termasuk NULL

Ubah kondisi Anda menjadi ini sebagai gantinya:

where (@LastName = 'All' and 1=1) or (LastName = @LastName)

Idenya adalah ketika @LastName ='Semua' maka kueri Anda seharusnya tidak memiliki filter apa pun. Kondisi 1=1 akan selalu benar, dan bersama dengan pemeriksaan lainnya akan mengembalikan semua hasil. Jalur lain yang dapat diambil kueri adalah memfilter berdasarkan Nama Belakang tertentu, yang seharusnya mengecualikan nilai nol.

Pembaruan:Kondisi 1=1 berlebihan. Anda dapat menulis ulang kondisinya sebagai:

where (@LastName = 'All') or (LastName = @LastName)

Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django manage.py syncdb melempar Tidak ada modul bernama MySQLdb

  2. Permintaan untuk menemukan kunci asing

  3. Gabung kiri dengan kueri berbeda di Laravel

  4. Perbarui Data di Database MySQL

  5. Pemicu MySql, perbarui tabel lain saat disisipkan