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