Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Podziel ciąg rozdzielany przecinkami --> FUNKCJA db.CHARINDEX nie istnieje

MySQL nie ma wbudowanej funkcji CHARINDEX() funkcjonować. LOCATE() byłby odpowiednikiem MySQL.

Korzystanie z SUBSTRING_INDEX() może być bardziej zwięzłym sposobem na zrobienie tego. Coś takiego (zastrzeżenie:nieprzetestowane):

SUBSTRING_INDEX(POS, ',', 1) dla punktów sprzedaży

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

Na marginesie, mogę nie rozumieć, co próbujesz osiągnąć, ale wygląda na to, że możesz chcieć AKTUALIZOWAĆ istniejące wiersze, a nie INSERT nowe? Coś takiego:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP:Dynamiczne rozwijane z optgroup

  2. Jak zaokrąglić znacznik czasu w MySQL

  3. Filtruj zapytania MYSQL za pomocą opcji formularza

  4. W jaki sposób wykorzystywane są algorytmy rankingowe Reddit i Hacker News?

  5. Kiedy Class.forName jest potrzebne podczas łączenia się z bazą danych przez JDBC w aplikacji internetowej?