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

Odpowiednik explode() do pracy z ciągami w MySQL

MYSQL nie ma explode() jak funkcja wbudowana. Ale możesz łatwo dodać podobną funkcję do bazy danych, a następnie użyć jej z zapytań php. Ta funkcja będzie wyglądać tak:

CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),
       CHAR_LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1),
       delim, '');

Użycie:

SELECT SPLIT_STRING('apple, pear, melon', ',', 1)

Powyższy przykład zwróci apple .Myślę, że nie będzie możliwe zwrócenie tablicy w MySQL, więc musisz określić, które wystąpienie ma zostać zwrócone jawnie w pos . Daj mi znać, jeśli uda Ci się go użyć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Zmiana sortowania wszystkich tabel

  2. Jak dodać indeksy do tabel MySQL?

  3. Podział na partycje tabeli zawierającej miliard wierszy danych piłkarskich przy użyciu kontekstu danych

  4. Przykład użycia bind_result vs get_result

  5. Nie można zwrócić wyników z procedury składowanej za pomocą kursora Pythona