테스트 사이트 - 개발 중인 베타 버전입니다

mysql 컬럼에 문자열이 포함되어있는 데이터 추출 채택완료

왕까마중 6년 전 조회 2,651

안녕하세요.

 

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개

채택된 답변
+20 포인트

SELECT * FROM #table WHERE mb_1 RLIKE "[[:<:]]10[[:>:]]"

몇 개의 데이터를 갖고 테스트했습니다.

정확히 나오는지 여기 저기 테스트 해 보시기 바랍니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

WHERE FIND_IN_SET('10', replace(mb_1, '|', ','));

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

ifelse
6년 전

구분값인  "10 |" 까지 쿼리를 돌리는 방법??

물론 데이터값 들어갈때 마지막값을 생각해서 항상 |값으로 마감을 해줘야하겠지만요

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인