Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tại sao find_in_set hoạt động nhưng mệnh đề IN

IN chấp nhận một danh sách hoặc các tham số để tìm kiếm, FIND_IN_SET chấp nhận tham số chuỗi chứa danh sách được phân tách bằng dấu phẩy:

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

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

Nếu bạn cố gắng áp dụng IN với một chuỗi được phân tách bằng dấu phẩy, nó sẽ coi nó như một tham số duy nhất và sẽ khớp với toàn bộ:

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

Tất nhiên, chuỗi '1' không bằng chuỗi '1,2,3,4' vì vậy truy vấn trên trả về 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. Đá quý MySQL trên OSX 10.7 Lion

  2. ColdFusion - Chèn các ký tự tiếng Ả Rập / tiếng Ba Tư vào mysql

  3. Thứ tự các cột trong câu lệnh select có ảnh hưởng đến tốc độ truy vấn không?

  4. Trình kích hoạt MySQL và SUM ()

  5. SQLAlchemy / MySQL Mất kết nối với máy chủ MySQL trong khi truy vấn