sql >> Databáze >  >> RDS >> Mysql

Řetězec oddělený čárkou --> FUNKCE db.CHARINDEX neexistuje

MySQL nemá vestavěný CHARINDEX() funkce. LOCATE() by byl ekvivalentem MySQL.

Pomocí SUBSTRING_INDEX() může to být stručnější způsob, jak to udělat. Něco jako toto (odmítnutí odpovědnosti:netestováno):

SUBSTRING_INDEX(POS; ','; 1) pro POS

SUBSTRING_INDEX(POS; ','; -1) pro POS2

Kromě toho možná nerozumím tomu, čeho se snažíte dosáhnout, ale zdá se, že možná budete chtít AKTUALIZOVAT existující řádky, nikoli INSERT nováčci? Něco jako:

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


  1. Příklady převodu „čas“ na „datum a čas“ v SQL Server (T-SQL)

  2. MySQL nesprávné výsledky s GROUP BY a ORDER BY

  3. Vložit všechna data datagridview do databáze najednou

  4. Jak omezit hodnotu sloupce v SQLite / MySQL