首頁 >資料庫 >mysql教程 >如何從 MySQL 中的分隔字串中提取子字串?

如何從 MySQL 中的分隔字串中提取子字串?

Susan Sarandon
Susan Sarandon原創
2024-12-03 20:52:12897瀏覽

How Can I Extract Substrings from a Delimited String in MySQL?

使用分隔符號在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn