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

Opdelt kommasepareret streng --> FUNKTION db.CHARINDEX eksisterer ikke

MySQL har ikke en indbygget CHARINDEX() fungere. LOCATE() ville være MySQL-ækvivalenten.

Brug af SUBSTRING_INDEX() kan være en mere kortfattet måde at gøre dette på. Noget som dette (disclaimer:ikke testet):

SUBSTRING_INDEX(POS, ',', 1) til POS

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

Som en side kan jeg måske misforstå, hvad du forsøger at opnå, men det ser ud til, at du måske vil OPDATERE eksisterende rækker, ikke INSERT Nye? Noget som:

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


  1. Hvordan vælger man visse felter i Laravel Eloquent?

  2. PostgreSQL tilbagekalder tilladelser fra pg_catalog-tabeller

  3. Skabelonmønstre og modifikatorer til formatering af dato/klokkeslæt i PostgreSQL

  4. 5 tips til at holde din database sikker