sql 배열위치 검색 질문드립니다.

sql 배열위치 검색 질문드립니다.

QA

sql 배열위치 검색 질문드립니다.

본문

wr_10 에 값이 "홍길동@@고미숙@@이지현@@박세희@@김기수"

이렇게 들어가 있습니다.

 

2번째 값 (고미숙)만 검색해서 이 위치값이 없는걸 채워넣거나..
이 위치값만 "김기수"로 바꾸고자 할때는 sql를 어떻게 돌려야 하나요?

 

통채로 바꾸는건 쉽게 할수 있을거 같은데..

 

중간에 바꾸거나 채워넣는건 어떻게 해야 하는지 잘 모르겠습니다.

이 질문에 댓글 쓰기 :

답변 2

우선 각 구분자마다 값이 모두 있을 경우는 아래처럼 확인이 가능합니다.


SELECT 
     f1
    ,REPLACE(f1,SUBSTRING_INDEX(SUBSTRING_INDEX(f1,'@@',2),'@@',-1),'replaced') f2
FROM
    (SELECT '홍길동@@고미숙@@이지현@@박세희@@김기수' f1 FROM DUAL) tmp;
/*
+-------------------------------------------------------+------------------------------------------------------+
| f1                                                    | f2                                                   |
+-------------------------------------------------------+------------------------------------------------------+
| 홍길동@@고미숙@@이지현@@박세희@@김기수                | 홍길동@@replaced@@이지현@@박세희@@김기수             |
+-------------------------------------------------------+------------------------------------------------------+
*/

값이 없는 부분을 채워넣은 부분은 응용을 하시면 될것 같습니다.

하지만 SQL 이 쓸데 없이 복잡해지기 때문에

차라리 단순하게 php explode 처리가 어떨까 싶네요

답변을 작성하시기 전에 로그인 해주세요.
전체 10,639
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT