반응형
위와 같이 쉼표로 구분된 태그 문자열을 검색할 때엔 FIND_IN_SET만큼 좋은게 없다.
FIND_IN_SET(항목1, 항목2)
항목1 : 검색 문자열
항목2 : 쉼표로 구분된 대상 문자열
여기서 반환되는 값은 찾은 위치의 값이다.
SELECT FIND_IN_SET('항목1', '항목1,항목2,항목3') AS result1; #1
SELECT FIND_IN_SET('항목1', '항목2,항목1,항목3') AS result1; #2
SELECT FIND_IN_SET('항목1', '항목2,항목3,항목1') AS result1; #3
SELECT FIND_IN_SET('항목1', '항목7,항목8,항목9') AS result1; #0
위 처럼 FIND_IN_SET을 이용해 쿼리를 실행하면
각각 1, 2, 3, 0값을 도출하게 된다.
즉, 찾을 위치의 값을 반환하지만 만약 해당값을 못찾으면 0을 반환한다.
SELECT
wr_tag
FROM
g5_board_new
WHERE
(
FIND_IN_SET('추천만화', wr_tag) <> 0 OR
FIND_IN_SET('도시괴담', wr_tag) <> 0 OR
FIND_IN_SET('소름', wr_tag) <> 0
)
ORDER BY RAND()
LIMIT 0, 7
그렇기 때문에 태그검색할 때엔 위의 쿼리처럼 응용하면 쉽게 검색할 수 있다.
반응형
'PHP' 카테고리의 다른 글
php exec함수가 제대로 실행이 안될 때 (selinux설정 및 재시작) (0) | 2023.10.18 |
---|---|
window.print() 사용할 때 css까지 잘 적용시키는 방법 (0) | 2023.10.05 |
[php] mecab 사전에 한국어를 임의로 등록해보자 (0) | 2023.09.14 |
[java] 문자열 관련 함수 응용 (substring, indexOf) (0) | 2023.09.11 |
[SQLITE] substring을 보완해줄 instr함수 (문자열 관련 함수) (0) | 2023.09.11 |