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

WHERE IS NULL, IS NOT NULL atau NO WHERE klausa tergantung pada nilai parameter SQL Server

Inilah cara Anda dapat menyelesaikannya menggunakan satu WHERE klausa:

WHERE (@myParm = value1 AND MyColumn IS NULL)
OR  (@myParm = value2 AND MyColumn IS NOT NULL)
OR  (@myParm = value3)

Penggunaan pernyataan CASE yang naif tidak berfungsi , maksud saya sebagai berikut:

SELECT Field1, Field2 FROM MyTable
WHERE CASE @myParam
    WHEN value1 THEN MyColumn IS NULL
    WHEN value2 THEN MyColumn IS NOT NULL
    WHEN value3 THEN TRUE
END

Dimungkinkan untuk menyelesaikan ini menggunakan pernyataan kasus, lihat jawaban onedaywhen



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah memiliki 'ATAU' dalam kondisi INNER JOIN adalah ide yang buruk?

  2. sql geografi ke dbgeografi?

  3. dapatkan string yang dipisahkan koma dari baris

  4. Ganti tanda kutip tunggal di SQL Server

  5. Apa itu SQL Server Management Studio (SSMS)?