Est-ce que quelqu'un connaît l'utilisation de LOCATE avec une chaîne varialbe transmise? J'essaie de l'utiliser pour déterminer s'il y a une virgule dans une chaîne qui a été définie dans la procédure stockée mais qui n'a pas réussi à la faire fonctionner correctement. Mon code ressemble à ceciUtilisation de la fonction de chaîne LOCATE dans une procédure stockée
DECLARE string VARCHAR(10);
DECLARE comma_found INT;
SET string = 'hello, world';
SET comma_found = SELECT LOCATE(',',string);
IF(comma_found <> 0) THEN
...execute code....
END IF;
Ce code ne sera pas complie en raison du SELECT et je ne peux localisons pas comprendre ce qui est faux. Est-ce ma syntaxe? Usage? Y a-t-il une autre fonction de maniuplation de chaînes que je peux utiliser pour accomplir ceci? Je le fais dans une procédure stockée dans Mysql.
La syntaxe est correcte mais il est susceptible d'avoir une erreur de troncature que vous avez noté - mais il n'y a pas raison pour laquelle la virgule ne peut pas être détectée de cette façon ... – Basic