mysql replace() 가변문자 질문드립니다 채택완료
sar
3년 전
조회 1,511
특정 컬럼에 '[1](3){5}{999}' 이런식으로 숫자를 괄호로묶은 데이터가 여러개 들어가는데요...
중괄호로 묶인 {숫자}가 있는 컬럼만 찾아서 {숫자}들만 삭제하는 쿼리문을 만들고 싶습니다.
</strong></p>
<p>UPDATE `test` SET `test_column` = replace(test_column, '{%}', '') where test_column like '%{%}%';</p>
<p><strong>
이렇게 하면 조건절은 검색이 되는데... replace에 와일드카드는 못 쓰나보네요ㅠ
안에 들어가는 숫자들이 가변적인데 치환할 방법이 있을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
3년 전
</p>
<p>UPDATE `test` SET `test_column` = REGEXP_REPLACE(test_column, '\\{.*\\}', '') where test_column like '%{%}%';</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
s
sar
3년 전
답변 감사드립니다. 적어주신 코드로는 {n}(nn){nnn} 이렇게 값이 있는 경우 처음{과 끝}사이에 있는 값 전부를(소괄호포함..) 삭제해버려서 컬럼 분할하는 방법을 새로 고려중입니다...
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인