Mysql
 sql >> Database >  >> RDS >> Mysql

Dividi la stringa delimitata da virgole --> FUNCTION db.CHARINDEX non esiste

MySQL non ha un CHARINDEX() integrato funzione. LOCATE() sarebbe l'equivalente di MySQL.

Utilizzo di SUBSTRING_INDEX() potrebbe essere un modo più conciso per farlo. Qualcosa del genere (disclaimer:non testato):

SUBSTRING_INDEX(POS, ',', 1) per POS

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

Per inciso, potrei fraintendere ciò che stai cercando di ottenere, ma sembra che tu voglia UPDATE righe esistenti, non INSERT nuovi? Qualcosa come:

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