Das Problem hier ist die Variabilität.

Liegen immer 4 Felder vor ?
Kann der INSTR einen Startwert vorgeben ?
Dazu kenne ich den MySQL-Dialekt nicht.

Das 1. Feld
substr(Feld, 1, instr(1, Feld, ',')-1)

Das 2. Feld
substr(Feld, instr(1, Feld, ',')+1, instr(instr(1, Feld, ',')+1, Feld, ',') - instr(1, Feld, ',') - 2)

usw.

Kann der Bereitsteller der Daten das denn nicht in fest formatiert, also mit fester Länge je Einzelwert zur Verfügung stellen ?

Alternativ kannst du ggf. eine SQL-Function erstellen:

create Function MySplit (Index Integer, Feld Varchar(nn))
returns varchar(nn)

und dann über eine Do-Schleife die Werte zerlegen.

Dann kannst du die Funktion im Select verwenden:

select MySplit(1, Feld), MySplit(2, Feld) ...