Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Format variabel MySQL untuk daftar nilai NOT IN

Anda tidak dapat menggunakan IN klausa seperti itu. Itu dikompilasi menjadi tunggal string di IN . Anda ayat. Tapi sebuah IN klausa perlu terpisah nilai.

WHERE id_campo not in (@idcamposexcluidos)

kompilasi ke

WHERE id_campo not in ('817,803,495')

tapi seharusnya

WHERE id_campo not in ('817','803','495')

Untuk mengatasinya baik menggunakan SQL dinamis atau di MySQL Anda bisa menggunakan FIND_IN_SET :

SET @idcamposexcluidos='817,803,495';
...
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0

tetapi menggunakan fungsi seperti FIND_IN_SET() tidak dapat menggunakan indeks.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolom kardinalitas yang lebih tinggi pertama dalam indeks ketika melibatkan rentang?

  2. MySQL INT artinya

  3. Kesalahan MySQL 2006:server mysql telah hilang

  4. Menggunakan Database Relasional MySQL di Debian 5 (Lenny)

  5. 3 Cara Menemukan Posisi Substring dalam String di MySQL