728x90
MySQL에서 컬럼이 리스트일 경우 특정 값이 있는 지 확인하기
공백 없이 쉼표로 구분된 리스트
'A,B,C'
특정 값 찾기
FIND_IN_SET()
FIND_IN_SET(특정 값, 컬럼)
없으면 0을 반환
+ LIKE 사용
컬럼 LIKE '%특정값%'
하지만 %A%를 했을 때 리스트 안에 AA가 있다면 다른 결과가 나올 수도 있다.
문제
https://school.programmers.co.kr/learn/courses/30/lessons/157343
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
리스트 안에서 특정 값이 있는지 확인하는 문제였습니다.
1. FIND_IN_SET 사용
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
FROM CAR_RENTAL_COMPANY_CAR
WHERE FIND_IN_SET('네비게이션', OPTIONS) # 'A,B,C' 형태로 되어 있을 때 찾음
ORDER BY CAR_ID DESC;
2. LIKE 사용
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC;