在 MySQL 中,可以使用內置的字符串函數來根據分隔符進行拆分。以下是一些常用的函數和操作:
SUBSTRING_INDEX 函數:該函數可返回一個字符串中指定分隔符前或后的子串。
語法:SUBSTRING_INDEX(str, depm, count)
其中,str 為要拆分的字符串,depm 為分隔符,count 為要返回的子串個數。如果 count 為正數,則返回從左往右第 count 個分隔符前的子串;如果 count 為負數,則返回從右往左第 count 個分隔符后的子串。
示例:
SELECT SUBSTRING_INDEX('a,b,c,d', ',', 2); -- 返回 'a,b'
SELECT SUBSTRING_INDEX('a,b,c,d', ',', -2); -- 返回 'c,d'
GROUP_CONCAT 函數:該函數可將多個字段或值合并成一個字符串,并用指定的分隔符分隔各個部分。
語法:GROUP_CONCAT(expr [ORDER BY {unsigned_integer | col_name | expr} ASC | DESC [,expr ...]] [SEPARATOR str])
其中,expr 可以是一個字段、一個表達式或一個常量。ORDER BY 和 SEPARATOR 參數都是可選的。
示例:
SELECT GROUP_CONCAT(name ORDER BY age SEPARATOR ';') FROM students;
以上查詢會將 students
表中的所有 name
字段按照 age
字段升序排列,并用分號分隔,最終返回一個字符串。