[MYSQL]SUBSTRING_INDEX와 관련하여 질문드립니다. 0 1 3,630

by 샘 [MySQL] mysql substring_index select substring [2024.02.21 16:22:18]


 

안녕하세요. 테이블에서 특정 컬럼을 가져오면서, 앞뒤에 붙어 있는 특정 문자를 기준으로 데이터를 자르고 싶어 질문드립니다.

substring_index를 이용하여 문자를 기준으로 데이터를 자를 수 있다는 걸 알았지만,

중첩하여 사용하는 법이 궁금합니다.

 

간단히 생각했을 때 아래와 같이 실행시키려 하였는데, 당연히 안 돌아가더라구요.

SUBSTRING_INDEX((SELECT SUBSTRING_INDEX(가져오고 싶은 컬럼, '/', -1) FROM 테이블명), '.', 1);

다른 좋은 방법이 있을까요 ? 

 

예시 데이터

abc/def/swe/dcdcd/ddfsdfsd_Sdfsdfdsf_bareggwe.txt

 

 

--------------------------------------------------------------------------------------------------------------------

제 생각이 짧았습니다.

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(가져오고 싶은 컬럼, '/', -1), '.', 1) FROM 테이블명;

위와 같이 해결했습니다. 감사합니다.

by 마농 [2024.02.21 17:25:31]
WITH t AS
(
SELECT 1 id, 'abc/def/swe/dcdcd/ddfsdfsd_Sdfsdfdsf_bareggwe.txt' v
UNION ALL SELECT 2, 'gurubee.net/article/88166/manon94.hwpx'
)
SELECT id
     , v
     , SUBSTRING_INDEX(SUBSTRING_INDEX(v, '/', -1), '.', 1) X
  FROM t
;

 

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