mysql에서 string값을 행으로 split 하려면 어떻게 해야하나요? 0 2 1,338

by grape111 [MySQL] split [2021.07.02 20:59:57]


안녕하세요

 

mysql에서 string값을 행으로 split 하려면 어떻게 해야하나요?

 

select * from (select '1,2,3,4,5,......99' )

 

로 하면 

 

1,2,3,4,5,......99

 

으로 조회가 되는데

위의 값을 기반으로 

 이렇게 하지 않고

 

1

2

3

..

99

 

로 행으로 조회되게 하려고합니다.

갯수에 관계없이 99가 아니라 쉼표를 기반으로  N개행으로  잘라서 표시를 할수 있나요?

by 뉴비디비 [2021.07.03 00:38:30]
SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(dtbl.str,',',ntbl.num),',',-1) str2row
FROM (
	SELECT 
		@v_row := @v_row+1 AS num 
	FROM INFORMATION_SCHEMA.COLUMNS ict, (SELECT @v_row := 0) gen 
) ntbl JOIN (
	SELECT '1,2,3,4,5,6,7,23,56,67,37,89,90,99' AS str 
) dtbl
    ON CHAR_LENGTH(dtbl.str) - CHAR_LENGTH(REPLACE(dtbl.str,',','')) >= ntbl.num-1
    

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입