Mysql
 sql >> база данни >  >> RDS >> Mysql

Еквивалент на explode() за работа с низове в MySQL

MYSQL няма explode() като вградена функция. Но можете лесно да добавите подобна функция към вашата DB и след това да я използвате от php заявки. Тази функция ще изглежда така:

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, '');

Употреба:

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

Примерът по-горе ще върне apple .Мисля, че ще бъде невъзможно да се върне масив в MySQL, така че трябва да посочите кое събитие да се върне изрично в pos . Кажете ми, ако успеете да го използвате.



  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 заявка, за да получите най-продаваните продукти

  2. Какъв е максималният размер на MySQL VARCHAR?

  3. Съпоставяне, чувствително към главни букви в MySQL

  4. Защо използването на подготвен изявление на mysql е по-сигурно от използването на обикновените escape функции?

  5. MySQL Show Grants за всички потребители