sql에 관한 질문입니다^^
본문
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
like 문을 이용해서 OR 검색을 하시기 바랍니다.
select * from table where (wr_50 like '%666%' OR wr_50 like '%777%')
like문을 이용하면 되지 않을까요..?
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)$');
이런식으로 하면 되지않을까 싶긴 합니다만.. 테스트는 못해봤습니다. ^^;;
답변을 작성하시기 전에 로그인 해주세요.