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() 쿼리 예제이다.
pos 설정 없이 Locate()를 사용하여 처음부터 문자열이 시작하므로 'a'가 몇 번째에 위치를 반환해 주게 된다. 처음부터 검사하기 때문에 'banana'에서 'a'는 2번째 위치하고 있기 때문에 반환된 숫자는 2로 반환해 준 것이다.
locate() 함수 예제 2
select locate('a','banana', 3)AS 'Locate예제';
locate 설정 중 pos를 설정해 준 예제이다. 문자열 3번째부터 시작하며 'banana'에서 'a'인 문자열 위치를 반환하는 예제이다.
'banana'에서 3번째의 문자인 'n'부터 시작해서 'a'는 4번째이다. 그래서 반환값인 4가 반환된다.
댓글