DB/전체

[mariadb] 컬럼 데이터에 ','를 row로 처리하기

have a nice day :D 2023. 10. 18. 15:48
반응형

* 컬럼  데이터에 ','를 row 컬럼로 처리하기
DB data
row1 : 데이터1,데이터2,데이터3
row2 : 데이터4
row3 : 데이터5
...
(아래와 같이 표현)
row1 : 데이터1
row2 : 데이터2
row3 : 데이터3
row4 : 데이터4
row5 : 데이터5


SELECT replace(SUBSTRING_INDEX(SUBSTRING_INDEX(your_column, ',', n.digit+1), ',', -1), ' ','') AS split_data FROM your_table
JOIN (SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n
ON LENGTH(your_column) - LENGTH(REPLACE(your_column, ',', '')) >= n.digit

SELECT count(*) FROM your_table
JOIN (SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n
ON LENGTH(your_column) - LENGTH(REPLACE(your_column, ',', '')) >= n.digit
where '금칙어 검색어 입니다.' like concat('%', REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(your_column, ',', n.digit+1), ',', -1),' ', ''), '%')

 

반응형