GOOGLE ADS

lundi 18 avril 2022

FIND_IN_SET sur les colonnes ? Est-ce que ça fait du sens?

Je suis tombé sur une expression étrange, qui n'a aucun sens pour moi.

SELECT * FROM `table` WHERE FIND_IN_SET('string', `column`);

Pourquoi pas:

SELECT * FROM `table` WHERE `column`='string';

Je pensais que FIND_IN_SET est utilisé pour trouver des chaînes dans des listes de chaînes séparées par des virgules. Existe-t-il des cas où je peux bénéficier d'une expression de colonne "FIND_IN_SET" au lieu d'un simple WHERE ?


Solution du problème

FIND_IN_SETest généralement utilisé dans l'autre sens : trouver une valeur de colonne à partir d'une liste de paramètres séparés par des virgules, car stocker des valeurs dans la base de données sous forme de listes séparées par des virgules n'est généralement pas une bonne idée :

select * 
FROM `table`
WHERE FIND_IN_SET(`column`, '1,2,3,4,5');

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...