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

sql에 관한 질문입니다^^ 채택완료

안숭 10년 전 조회 3,516

wr_id     wr_50

1내용    111

6내용    666

7내용    777

8내용    888

 

select * from table where wr_50 in (666, 777);

여기 까지는 문제가 없죠

 

그런데

wr_id     wr_50

1내용    111|222

6내용    666|333

7내용    777|444

8내용    888|555

 

select * from table where wr_50 in (666, 777);

이러면 검색이 안되죠 ㅡ.ㅜ

 

wr_50에 | 문자를 기준으로 데이터 값이 들어 값니다. 이럴때 mysql select문 으로 해결할수 있는 방법이 있을까요?

 

 

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

답변 3개

채택된 답변
+20 포인트
10년 전

like 문을 이용해서 OR 검색을 하시기 바랍니다.

select * from table where (wr_50 like '%666%' OR wr_50 like '%777%') 

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

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

10년 전

666 777처럼 검색하려는 값이 무조건 데이터의 앞에 붙는다면

select * from table where wr_50 regexp('^​(666|777)\|'); 

이렇게 하면 되겠지만 검색어가 뒤에도 붙을수 있다면..

select * from table where wr_50 regexp('^​(666|777)\|') or wr_50 regexp('\|​(666|777)$');

이런식으로 하면 되지않을까 싶긴 합니다만.. 테스트는 못해봤습니다. ^^;;

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

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

like문을 이용하면 되지 않을까요..?

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

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

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

로그인