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

Menggunakan Pernyataan CASE di dalam Klausa IN

CASE mengembalikan nilai skalar saja. Anda dapat melakukan ini sebagai gantinya. (Saya berasumsi, sesuai contoh Anda, bahwa ketika @StatusID =99, nilai StatusID 99 tidak cocok.)

select *
from MyTable
where (@StatusID = 99 and StatusID in (5, 11, 13))
    or (@StatusID <> 99 and StatusID = @StatusID)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghubungkan ke Microsoft SQL Server 2008 (MSSQL) dari Matlab?

  2. Mengubah Jenis Pengembalian Fungsi secara Dinamis

  3. Mengapa awalan yang dipisahkan titik diabaikan dalam daftar kolom untuk pernyataan INSERT?

  4. Ekspor tabel dari database ke file csv

  5. Pandangan Logis Tanpa Emosi pada Konvensi Penamaan SQL Server