Je suis nouveau à MySQL alors j'ai besoin d'aide.Curseur MySQL pour une chaîne délimitée par des virgules?
J'ai une table où il y a une colonne varchar qui contient des chaînes délimitées par des virgules, comme ceci:
cat_1,cat_2,cat_3,cat_4,cat_5
cat_6,cat_7,cat_8,cat_5
cat_1,cat_2,cat_5
cat_1,cat_2,cat_9,cat_4,cat_5
cat_7,cat_5
Je veux créer un curseur que je peux utiliser pour boucler sur chaque valeur cat_
telle chaîne.
Je dois comparer chaque sous-chaîne avec une valeur définie, puis effectuer une certaine logique en fonction de cela.
En forme algorithmique, c'est ce que je dois:
foreach row
foreach substring s in big_string
if s='cat_1'
--do logic
else if s='cat_2'
--do logic
else if s='cat_3'
--do logic
--and so on
end
end
end
Je sais comment créer la boucle extérieure à l'aide d'un curseur de sélection normale. Je ne sais pas comment créer la boucle interne, qui boucle sur chaque sous-chaîne délimitée par des virgules.
Quelqu'un peut-il aider?
EDIT: J'en ai besoin pour une procédure stockée.
Avez-vous trouvé une recherche: FIND_IN_SET()? – AgRizzo
Quel genre de logique vous essayez d'appliquer? S'il vous plaît élaborer. Vous n'avez peut-être pas besoin de curseurs pour diviser ou appliquer votre logique. – peterm