Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

String delimitada por vírgula dividida --> FUNCTION db.CHARINDEX não existe


O MySQL não possui um CHARINDEX() embutido função. LOCATE() seria o equivalente ao MySQL.

Usando SUBSTRING_INDEX() pode ser uma maneira mais sucinta de fazer isso. Algo assim (disclaimer:não testado):

SUBSTRING_INDEX(POS, ',', 1) para PDV

SUBSTRING_INDEX(POS, ',', -1) para PDV2

Como um aparte, posso estar entendendo mal o que você está tentando realizar, mas parece que você pode querer UPDATE linhas existentes, não INSERT novos? Algo como:
UPDATE MyTable SET POS2 = SUBSTRING_INDEX(POS, ',', -1);
UPDATE MyTable SET POS = SUBSTRING_INDEX(POS, ',', 1);