FIND_IN_SET 구문을 활용하여 콤마로 구분되는 데이터의 특정 값이 포함되어 있는지 확인할 수 있다. FIND_IN_SET 구문을 사용하기 위해서는 특정 칼럼에 해당하는 데이터가 콤마로 구분되어 있고, 정렬되지 않은 데이터 내부에 특정 값이 포함되어 있는지 확인하는 경우에 유용하게 사용할 수 있습니다. 기본 문법은 다음과 같다.
📌기본 구조 및 사용 예시
#FIND_IN_SET(검색할 문자열, 콤마로 구분된 리스트);
#EXAMPLE
#FIND_IN_SET("A", "A, B, C, D");
#RESULT
#1
- 검색할 문자열 : A
- 리스트 : A, B, C, D
- 결과 : 1
📌FIND_IN_SET - 실 사용 예시
month | hist |
4 | 101, 102, 103, 104, 105 |
5 | 101, 103, 104, 105 |
6 | 102, 103, 104, 105 |
7 | 101, 102, 103, 104 |
📌101, 102호가 동시에 기록된 달 조회
SELECT month
FROM TABLE
WHERE 1=1
AND FIND_IN_SET('101', hist) > 0
AND FIND_IN_SET('102', hist) > 0
#101, 102호가 동시에 납부한 달을 조호한다.
month |
4 |
7 |
'RDBS > MYSQL' 카테고리의 다른 글
[MySQL]WITH문을 사용하여 가상의 테이블을 만들어 사용하기 (3) | 2023.06.25 |
---|---|
[MySQL]소수점 다루기 - 반올림(ROUND)과 버림(TRUNCATE) (2) | 2023.06.18 |
[MySQL]반드시 알아야 하는 쿼리의 실행 순서 (8) | 2023.05.06 |
[MySQL]EXISTS, NOT EXISTS를 사용하여 데이터의 존재 여부 확인하기 (1) | 2023.05.03 |
[MySQL]다양한 NULL 처리 방법(IFNULL, CASE문, COALESCE) (0) | 2023.05.01 |