Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Membangun klausa WHERE dinamis dalam prosedur tersimpan

Coba ini sebagai gantinya:

WHERE 1 = 1
AND (@what     IS NULL OR [companies_SimpleList].[Description] Like @What )
AND (@keywords IS NULL OR companies_SimpleList.Keywords        Like @Keywords)
AND (@where    IS NULL OR companies_SimpleList.FullAdress      Like @Where)
...

Jika salah satu parameter @what , @where dikirim ke prosedur tersimpan dengan NULL nilai maka kondisi akan diabaikan. Anda dapat menggunakan 0 alih-alih nol sebagai nilai pengujian maka itu akan menjadi seperti @what = 0 OR ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. grup sql hanya dengan baris yang berurutan

  2. Cara Mengaktifkan Semua Batasan PERIKSA &Kunci Asing untuk Tabel di SQL Server (Contoh T-SQL)

  3. Berikan Pilih pada tampilan bukan tabel dasar ketika tabel dasar berada di database yang berbeda

  4. Cara Memasukkan String ke String lain di SQL Server menggunakan STUFF()

  5. ANTARA operator vs.>=DAN <=:Apakah ada perbedaan kinerja?