mysql 컬럼에 문자열이 포함되어있는 데이터 추출
본문
안녕하세요.
mb_1 컬럼에
30 | 50 | 40 | 70 | 900 | 123 | 121 | 144 | 1100 | 1230
10 | 110 | 120 | 500 와 같은 데이터가 있습니다.
mb_1 필드에서 10이 포함된 데이터만 출력하려고 합니다.
like 는 10 110 둘다 포함되니 안되고
구박사검색해서 SUBSTRING_INDEX union all 사용해봤는데 해당 컬럼의 값이 가변적으로 늘어날수
있어 힘든부분이 있구요
배열로 뽑은후 php 쪽에서 조건 처리하는 방법도 있지만
쿼리쪽에서 처리하고 싶은데
도움을 부탁드리겠습니다.
감사합니다.
답변 3
SELECT * FROM #table WHERE mb_1 RLIKE "[[:<:]]10[[:>:]]"
몇 개의 데이터를 갖고 테스트했습니다.
정확히 나오는지 여기 저기 테스트 해 보시기 바랍니다.
WHERE FIND_IN_SET('10', replace(mb_1, '|', ','));
구분값인 "10 |" 까지 쿼리를 돌리는 방법??
물론 데이터값 들어갈때 마지막값을 생각해서 항상 |값으로 마감을 해줘야하겠지만요
답변을 작성하시기 전에 로그인 해주세요.