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

Mengapa find_in_set berfungsi tetapi klausa IN

IN menerima daftar atau parameter untuk dicari, FIND_IN_SET menerima parameter string yang berisi daftar yang dipisahkan koma:

SELECT  1 IN (1, 2, 3, 4)

SELECT  FIND_IN_SET(1, '1,2,3,4')

Jika Anda mencoba menerapkan IN ke string yang dipisahkan koma, ia akan memperlakukannya sebagai parameter tunggal dan akan mencocokkannya secara keseluruhan:

SELECT  1 IN ('1,2,3,4')

Tentu saja, string '1' tidak sama dengan string '1,2,3,4' jadi kueri di atas menghasilkan false.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Gabung &Hitung baris dari tabel lain

  2. Keluar dari kueri SQL mentah di Laravel 4

  3. Kelemahan menyimpan integer sebagai string dalam database

  4. Apa cara tercepat untuk memuat file XML ke MySQL menggunakan C#?

  5. Menentukan kata sandi dalam string koneksi MySQL