Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dlaczego find_in_set działa, ale klauzula IN

IN akceptuje listę lub parametry do przeszukania, FIND_IN_SET akceptuje parametr tekstowy zawierający listę oddzieloną przecinkami:

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

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

Jeśli spróbujesz zastosować IN do ciągu oddzielonego przecinkami, potraktuje go jako pojedynczy parametr i dopasuje jako całość:

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

Oczywiście ciąg '1' nie jest równa łańcuchowi '1,2,3,4' więc powyższe zapytanie zwraca fałsz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. App Engine i MySQL

  2. MySQL — połączenie trwałe a pula połączeń

  3. Zwracana wartość procedury składowanej MySQL

  4. MYSQL wybierz ostatnie 3 wiersze, uporządkuj według ASC

  5. Jak używać mysql_escape_string() we frameworku Yii?