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

SQL mengabaikan bagian dari WHERE jika parameternya nol

Bagaimana dengan sesuatu seperti

SELECT Id, col1, col2, col3, col4 
FROM    myTable 
WHERE   col1 LIKE @Param1+'%'
OR      @Param1 IS NULL

dalam kasus khusus ini Anda juga bisa menggunakan

SELECT Id, col1, col2, col3, col4 
FROM    myTable 
WHERE   col1 LIKE ISNULL(@Param1,'')+'%'

Tetapi secara umum Anda dapat mencoba sesuatu seperti

SELECT Id, col1, col2, col3, col4 
FROM    myTable 
WHERE   (condition1 OR @Param1 IS NULL)
AND     (condition2 OR @Param2 IS NULL)
AND     (condition3 OR @Param3 IS NULL)
...
AND     (conditionN OR @ParamN IS NULL)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - literal boolean?

  2. Mengirim Email melalui SQL Server GAGAL

  3. SQL Server:Kiat Berguna untuk Pemula

  4. Catat perubahan catatan di server SQL dalam tabel audit

  5. Perbaiki "SQL Server memblokir akses ke PERNYATAAN 'OpenRowset/OpenDatasource' dari komponen 'Kueri Terdistribusi Ad Hoc"