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

melewatkan operan sebagai parameter sql

Dengan asumsi semua bilangan bulat positif <2 miliar, solusi ini menghindari banyak kueri dan SQL dinamis. OPTION (RECOMPILE) membantu menggagalkan sniffing parameter, tetapi ini mungkin tidak diperlukan, bergantung pada ukuran tabel, setelan parameterisasi, dan setelan "optimalkan beban kerja ad hoc".

WHERE [Amount] BETWEEN 
CASE WHEN @operand LIKE '<%' THEN 0
     WHEN @operand = '>' THEN @operant + 1
     ELSE @operant END
AND
CASE WHEN @operand LIKE '>%' THEN 2147483647
     WHEN @operand = '<' THEN @operant - 1
     ELSE @operant END
OPTION (RECOMPILE);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transpos baris dan kolom tanpa agregat

  2. Bagaimana cara saya secara terprogram mengatur string koneksi untuk Entity-Framework Code-First?

  3. Dapatkan waktu datetime menggunakan T-SQL?

  4. Bagaimana cara memperbarui data dari tabel ke tabel sql?

  5. Gagal Mengonversi Nilai Parameter Dari String Ke Int32