使用分隔符在 MySQL 中提取子字符串
问题:
从 MySQL 中包含以下内容的字符串中提取子字符串由特定分隔符(例如逗号)分隔的多个值(,).
答案:
虽然 MySQL 缺乏内置的分割字符串函数,但有其他方法可以实现这一点:
用户定义函数:
实现分割字符串的用户定义函数(UDF)基于指定的分隔符。
示例查询(详细):
出于演示目的,假设 n 表示要提取的子字符串的数量:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS colorfirst, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS colorsecond ... SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n), ',', -1) AS colornth FROM product;
在此示例中,SUBSTRING_INDEX 函数用于提取第一个子字符串,然后是第二个,依此类推,直到第 n 个子字符串。
以上是如何从 MySQL 中的分隔字符串中提取子字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!