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
で明示的に返すオカレンスを指定する必要があります 。使用に成功した場合はお知らせください。