본문 바로가기
프로그래밍/MYSQL

[MYSQL] mysql locate() 함수(문자열 위치 찾기)

by wyatti 2023. 3. 31.

mysql locate 문자열 위치 찾기
mysql locate

Locate() 함수는 문자의 위치를 찾는 데 사용되는 함수이다. 문자가 여러 개라면 가장 먼저 찾은 문자의 위치를 가져온다. 만약 찾고자 하는 문자가 없다면 0을 반환한다.

locate() 함수 구문

LOCATE(substr,str), LOCATE(substr,str,pos)

두 가지로 사용이 가능하며 substr은 찾고자 하는 문자열이고 str은 칼럼명이며, pos는 찾고자 문자 시작 위치이다. pos는 생략이 가능하며 생략할 경우 문자열 첫 글자부터 시작한다.

첫 번째일 경우 str에서 substr가 몇 번째에 위치해 있는지 반환해 주는 거라고 이해하면 된다.

두 번째일 경우 pos번째에서 시작하고 str에서 substr문자열이 몇 번째에 위치해 있는지 반환해 준다.

반응형

locate() 함수 예제

select locate('a','banana')AS 'Locate예제';

POS설정 없는 Locate() 쿼리 예제이다.

mysql locate() 예제

pos 설정 없이 Locate()를 사용하여 처음부터 문자열이 시작하므로 'a'가 몇 번째에 위치를 반환해 주게 된다. 처음부터 검사하기 때문에 'banana'에서 'a'는 2번째 위치하고 있기 때문에 반환된 숫자는 2로 반환해 준 것이다.

locate() 함수 예제 2

select locate('a','banana', 3)AS 'Locate예제';

locate 설정 중 pos를 설정해 준 예제이다. 문자열 3번째부터 시작하며 'banana'에서 'a'인 문자열 위치를 반환하는 예제이다.

 

mysql locate pos 설정 예제 결과값

'banana'에서 3번째의 문자인 'n'부터 시작해서 'a'는 4번째이다. 그래서 반환값인 4가 반환된다.

댓글