MySQL 中如何從逗號分隔的字段提取多個值?

MySQL 中如何從逗號分隔的字段提取多個值?

從逗號分隔字段提取多個值

如何在 mysql 中從存儲為逗號分隔值(例如“1,2,3,4,5,6”)的字段中分別提取這些值?

解決方案

可以使用 mysql 內置函數 substring_index() 將逗號分隔的值轉換為多行,具體步驟如下:

  1. 將逗號分隔的值作為第一個參數傳遞給 substring_index() 函數。
  2. 將逗號作為第二個參數傳遞,表示分隔符。
  3. 將 1 作為第三個參數,指示要提取第一個值。

例如,以下查詢將從逗號分隔的字段中提取前三個值:

select substring_index('1,2,3,4,5,6', ',', 1) as val union all select substring_index(substring_index('1,2,3,4,5,6', ',', 2), ',', -1) union all select substring_index(substring_index('1,2,3,4,5,6', ',', 3), ',', -1)

實際測試結果如下:

+------+ | val  | +------+ | 1    | | 2    | | 3    | +------+

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享