Mysql
 sql >> Base de données >  >> RDS >> Mysql

Séparer une chaîne séparée par des virgules --> FUNCTION db.CHARINDEX n'existe pas

MySQL n'a pas de CHARINDEX() intégré une fonction. LOCATE() serait l'équivalent MySQL.

Utilisation de SUBSTRING_INDEX() pourrait être une façon plus succincte de le faire. Quelque chose comme ça (avertissement :non testé) :

SUBSTRING_INDEX(POS, ',', 1) pour PDV

SUBSTRING_INDEX(POS, ',', -1) pour POS2

Soit dit en passant, je comprends peut-être mal ce que vous essayez d'accomplir, mais il semble que vous souhaitiez UPDATE lignes existantes, pas INSERT les nouvelles? Quelque chose comme :

UPDATE MyTable SET POS2 = SUBSTRING_INDEX(POS, ',', -1);
UPDATE MyTable SET POS = SUBSTRING_INDEX(POS, ',', 1);