mysql 當字段以逗號分隔時的轉換

2021-10-21 03:34:12 字數 804 閱讀 9640

當乙個欄位裡的資料是以逗號分隔時,利用group_concat(str)函式以及substring_index()函式,將其資料直接轉換成以逗號相隔的字串

記錄sql如下

select

s.id,

group_concat(d.dict_name) dict_name

from

sys_data_dict d

inner join (

select

id,substring_index(

substring_index(

a.pro_property,

',',

b.help_topic_id + 1

),',' ,- 1

) as pro_property

from

tb_project_info a

join mysql.help_topic b on b.help_topic_id < (

length(a.pro_property) - length(

replace (a.pro_property, ',', '')

) + 1

)) s on s.pro_property = d.dict_value

and d.dict_code= 'project_proproperty'

and d.order_num!='0'

group by id

實現結果為:

MYSQL查詢某欄位中以逗號分隔的字串的方法

首先我們建立一張帶有逗號分隔的字串。create table test id int 6 not null auto increment,primary key id pname varchar 20 not null,pnum varchar 50 not null 然後插入帶有逗號分隔的測試資料...

MYSQL查詢某欄位中以逗號分隔的字串的方法

首先我們建立一張帶有逗號分隔的字串。create table test id int 6 not null auto increment,primary key id pname varchar 20 not null,pnum varchar 50 not null 然後插入帶有逗號分隔的測試資料...

MYSQL查詢某欄位中以逗號分隔的字串的方法

首先我們建立一張帶有逗號分隔的字串。create table test id int 6 not null auto increment,primary key id pname varchar 20 not null,pnum varchar 50 not null 然後插入帶有逗號分隔的測試資料...