sql >> Database >  >> RDS >> Mysql

Door komma's gescheiden tekenreeks splitsen --> FUNCTIE db.CHARINDEX bestaat niet

MySQL heeft geen ingebouwde CHARINDEX() functie. LOCATE() zou het MySQL-equivalent zijn.

SUBSTRING_INDEX() misschien een kortere manier om dit te doen. Iets als dit (disclaimer:niet getest):

SUBSTRING_INDEX(POS, ',', 1) voor kassa

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

Even terzijde, ik begrijp misschien niet wat je probeert te bereiken, maar het lijkt erop dat je misschien wilt UPDATE bestaande rijen, niet INSERT nieuwe? Iets als:

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


  1. Hoe kan ik gegevens in twee tabellen tegelijk INVOEREN in SQL Server?

  2. T-SQL - Aliasing met =versus as

  3. Interne SQL Server:Plan Caching Pt. II – Plannen opnieuw compileren

  4. Onjuist sleutelbestand voor tabel '/tmp/#sql_3c51_0.MYI' probeer het te repareren