본문 바로가기
일하딩/Mysql

[Mysql] 문자열 찾기, 원하는 순서 정렬 - FIND_IN_SET

by 별난형 2021. 2. 8.

FIND_IN_SET 함숙는 (찾는 문자열, '찾을문자열,찾을문자열,찾을문자열') 형태로 사용한다.

찾을 문자열들은 , 로 구분을 해줘야 해당 위치를 찾아준다.

 

1. SELECT 안에서 사용하는 경우

 

SELECT FIND_IN_SET('G20', 'G10,G20,G30');

위와 같이 사용하고 결과값은

 

반드시 , 로 찾을 문자열들을 나누어줘야한다. 찾았을경우 위치 값을 반환해준다.

 

, 로 나누지 않았을경우

 

SELECT FIND_IN_SET('G20', 'G10G20G30');

찾을 수가 없어 0을 반환하게 된다.

 

 

2. ORDER BY 뒤에 사용하는 경우

 

FIELD 함수와 비슷하게도 사용할 수는 있다.

 

SELECT cd FROM table ORDER BY FIND_IN_SET(cd, 'g10'), FIND_IN_SET(cd, 'g30'), cd ASC;

원하는 애들을 먼저 입력하면 우선 정렬을 해준다.

 

원하는 것을 우선 정렬 후 다음 원하는 column 기준으로 정렬하면 된다.

댓글