Comme nous le savons tous, les deux fonctions sont utilisées pour rechercher des chaînes en fonction des arguments qu'elles fournissent, mais il existe des différences significatives entre elles, comme indiqué ci-dessous
mysql> Select IF(INSTR('10,11,12,13',2) > 0,1,0) As Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.05 sec) mysql> Select IF(FIND_IN_SET(2,'10,11,12,13') > 0,1,0)As Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
À partir du jeu de résultats de l'exemple ci-dessus, nous pouvons voir que la fonction INSTR() renvoie 1 voire 2 car la chaîne n'est pas présente dans le paramètre. Mais la fonction FIND_IN_SET() renvoie 0, ce qui est la bonne réponse.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!