Position des caractères dans un champ
Bonjour, je recherche à récuperer toutes les positions d'un caracteres dans un champs .
exemple
champ test : 01001100101
on doit donc trouver : 2;5;6;9;11
on peut mettre les varleurs dans une table temporaire si cela est plus simple.
cdt,
résolu avec des while et un curseur
j'ai résolu mon soucis avec un while et un curseur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
OPEN monCurseurCible;
cible_loop: LOOP
FETCH monCurseurCible INTO var_cible, var_ref;
IF done = 1 THEN
LEAVE cible_loop;
END IF;
-- on calcule la 1er position
SET var_position = LOCATE(1,var_cible) ;
-- on boucle sur toutes les caractères de cible pour lire
WHILE var_position >= 1 DO
INSERT INTO test_position ( ref ,position_regate ) VALUES ( var_ref, var_position ) ;
SET var_position = LOCATE(1,var_cible,var_position+1) ;
END WHILE ;
END LOOP;
CLOSE monCurseurCible; |
Il me reste à mettre tout cela en forme pur que cela soit effectuer via un shell :calim2:
une autre demande sur le forum .
cdt
stephane