Mysql
 sql >> Database >  >> RDS >> Mysql

Perché find_in_set funziona ma la clausola IN

IN accetta un elenco o parametri da cercare, FIND_IN_SET accetta un parametro stringa contenente un elenco separato da virgole:

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

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

Se provi ad applicare IN in una stringa separata da virgole, lo tratterà come un singolo parametro e lo abbinerà nel suo insieme:

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

Naturalmente, la stringa '1' non è uguale alla stringa '1,2,3,4' quindi la query sopra restituisce false.