제목 | mysql에서 특정단어 검색질문 | ||
---|---|---|---|
카테고리 | DB | ||
글쓴이 | 헛발이 | 작성시각 | 2017/04/25 14:26:35 |
|
|||
올만에 질문 합니다.. 잘 부탁드립니다...
AAA 테이블에 B라는 레코드가 text타입으로 데이터가 "1,2,3,4,5,6,7,8,9,10,11,12,13,14....." 라고 있다고 가정하고
AAA테이블 No. B 1 | 9,10,11,12 (<=B데이터가 하나의 필드에 문자로 되어 있음) 2 | 1,2,3 3 | 5,6,7
위의 데이터에서 1을 검색하려 합니다. 그러면 보통 LIKE를 사용한다고 생각한다면 ...
LIKE = '1' 이라고 하면 1만 검색이 되는것이 아니고 10이나 11도 같이 검색이 되는데... 정확하게 1이라는 문자가 있는것을 찾는것이 가능할까요? |
|||
다음글 | select 를 여러번 하는게 나을까요 php 루프를 ... (7) | ||
이전글 | 외부서버가 죽었는지 살았는지 확인 할수 있는 방법이나 ... (5) | ||
한대승(불의회상)
/
2017/04/25 14:59:44 /
추천
0
'1,%' or '%,1,%' or '%,1' 로 검색하면 될듯
|
헛발이
/
2017/04/25 15:09:51 /
추천
0
감사합니다...
|
닉
/
2017/04/25 16:41:24 /
추천
0
위 같이 할경우엔 데이터가 1만 있을때는 검색이 안될거 같아요.. or '1'도 추가해야 할거같아요.. |
테러보이
/
2017/04/25 18:58:04 /
추천
0
꼭 like를 써야 하는것이 아니라면 find_in_set으로 검색할면될것 같습니다.
참고로 테스트 결과 like보다 find_in_set가 느리더라구요. 남용하지 않을 정도로만 쓰면 좋을 것 같습니다 ㅎㅎ |
테러보이
/
2017/04/25 19:01:42 /
추천
0
select * from `AAA` where find_in_set('1', `b`) > 0
|
헛발이
/
2017/04/25 22:38:15 /
추천
0
답변 감사합니다... 하지만 참 검색이라는것이 어렵네요...왜 갑자기 어렵다 생각이 드는건지.... 암튼 참고 하겠습니다... |
kaido
/
2017/04/26 09:03:39 /
추천
0
저도 갑자기 흥미가 생겨서 , 기준으로 나눠서 해당 필드 검색 하는 로직 찾아보니... 안하는게 낫겠더군요 킁... 정확한 검색을 요구하는 경우가 아니면, "유사 검색도 나와서 더 좋지 않습니까?" 하는 혀로그래밍도 필요합니다 ㅎㅎ |