mysql replace() 가변문자 질문드립니다

mysql replace() 가변문자 질문드립니다

QA

mysql replace() 가변문자 질문드립니다

본문

특정 컬럼에 '[1](3){5}{999}' 이런식으로 숫자를 괄호로묶은 데이터가 여러개 들어가는데요...

 

중괄호로 묶인 {숫자}가 있는 컬럼만 찾아서 {숫자}들만 삭제하는 쿼리문을 만들고 싶습니다.

 


UPDATE `test` SET `test_column` = replace(test_column, '{%}', '') where test_column like '%{%}%';

이렇게 하면 조건절은 검색이 되는데... replace에 와일드카드는 못 쓰나보네요ㅠ

안에 들어가는 숫자들이 가변적인데 치환할 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 1


UPDATE `test`  SET `test_column` = REGEXP_REPLACE(test_column, '\\{.*\\}', '') where test_column like '%{%}%';

답변 감사드립니다. 적어주신 코드로는 {n}(nn){nnn} 이렇게 값이 있는 경우 처음{과 끝}사이에 있는 값 전부를(소괄호포함..) 삭제해버려서 컬럼 분할하는 방법을 새로 고려중입니다...

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

회원로그인

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