sql >> Base de Datos >  >> RDS >> Mysql

Por qué find_in_set funciona pero la cláusula IN

IN acepta una lista o parámetros para buscar, FIND_IN_SET acepta un parámetro de cadena que contiene una lista separada por comas:

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

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

Si intenta aplicar IN a una cadena separada por comas, la tratará como un único parámetro y la comparará como un todo:

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

Por supuesto, la cadena '1' no es igual a la cadena '1,2,3,4' por lo que la consulta anterior devuelve falso.