자료실

부자는 돈을 써서 시간을 아끼지만 가난한 사람은 시간을 써서 돈을 아낀다

MySQL

IT HUB를 찾아주셔서 감사합니다.

MySQL [MySql] MYSQL에서 문자열 SPLIT 해서 UPDATE(업데이트) - SUBSTRING_INDEX

페이지 정보

profile_image
작성자 하나를하더라도최선을
댓글 0건 조회 3,113회 작성일 22-09-17 14:18

본문

Example:)

UPDATE `지도검색` SET `eMail` = SUBSTRING_INDEX(`homePage`'/'-1WHERE `homePage` LIKE '%blog.naver.com%'; 

f224b7a36d783768e70e08c94f8944ae_1663391884_3067.png

 응용:)

UPDATE `지도검색` SET `eMail` = CONCAT(SUBSTRING_INDEX(`homePage`'/'-1),'@naver.com'WHERE `homePage` LIKE '%blog.naver.com%' 



MYSQL에서는 SPLIT 함수가 없어서,

SUBSTRING_INDEX 함수를 사용해서 SPLIT 기능을 구현할 수 있습니다.

SUBSTRING_INDEX(문자열, 구분자, 구분자의 index) 


"하나-둘-셋" 이라는 문자열을 구분자 -에 따라 나누어 출력해보겠습니다. 

구문결과
SUBSTRING_INDEX('하나-둘-셋', '-', 1) 하나
SUBSTRING_INDEX('하나-둘-셋', '-', 2) 하나-둘
SUBSTRING_INDEX('하나-둘-셋', '-', 3) 하나-둘-셋
SUBSTRING_INDEX('하나-둘-셋', '-', -1) 
SUBSTRING_INDEX('하나-둘-셋', '-', -2) 둘-셋
SUBSTRING_INDEX('하나-둘-셋', '-', -3) 하나-둘-셋
 

SUBSTRING_INDEX 함수는 문자열의 첫부분 혹은 끝부분부터 자르는 함수이기때문에

SPLIT처럼단순하게 출력할 수 없습니다.

대신, SUBSTRING을 한번 더 씌우는 방식으로 중간 문자열을 가져올 수 있습니다.

SUBSTRING_INDEX(SUBSTRING_INDEX('하나-둘-셋' '-', -2), '-', 1) 

결과:)

SUBSTRING_INDEX('하나-둘-셋' '-', -2)  ----결과----> '둘-셋'

SUBSTRING_INDEX('둘-셋', '-', 1) ----결과----> '둘'


출처:) h t t p s : / / d a i l y - s t r u g g l e . t i s t o r y . c o m / 4 8 

댓글목록

등록된 댓글이 없습니다.