SUBSTRING_INDEX 이용해서 구분자로 나눴을 때 해당 순번의 값이 없으면 표시하지 않게 어떻게 하나요? 0 2 620

by 네번째눈 [MySQL] [2021.02.26 16:59:21]


SUBSTRING_INDEX(SUBSTRING_INDEX(tt.keyword,',',1),',',-1) as key01,
SUBSTRING_INDEX(SUBSTRING_INDEX(tt.keyword,',',2),',',-1) as key02,
SUBSTRING_INDEX(SUBSTRING_INDEX(tt.keyword,',',3),',',-1) as key03,
SUBSTRING_INDEX(SUBSTRING_INDEX(tt.keyword,',',4),',',-1) as key04,
SUBSTRING_INDEX(SUBSTRING_INDEX(tt.keyword,',',5),',',-1) as key05

 

위와 같이 하면 나눴을 때 구분자로 나눠서 하나씩 나오는 것까지 했는데, 나눈 후에 컬럼 갯수가 적을 땐 마지막 값이 중복되어서 나오네요.

예) 

a,b,c    가 있을 땐

a b c c c 

위와 같이 4번째, 5번째값이 마지막 값으로 나옵니다.

구분자로 나눴을 때 배열값이 3개면, 4번째부터는 값이 안 나오게 하고 싶습니다. 어떻게 해야 하나요?

 

by 마농 [2021.02.26 19:17:53]

변경전 : tt.keyword

변경후 : CONCAT(tt.keyword, ',,,,')


by 네번째눈 [2021.02.27 01:45:50]

ㅎㅎㅎ 콤마로 나눈 다음 위치를 세니까 필요한 숫자 이상의 콤마만 만들어놓으면, 제공된 데이타 이상의 순번에서는 빈 값을 가져오게 되겠네요.

멋진 발상의 전환이네요 ^^! 즐거운 연휴 되세요~

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