LOCATE 함수는 문자열 string 내에서 문자열 substring의 위치 인덱스 값을 반환한다. 세 번째 인자 position은 생략할 수 있으며, 이 인자가 지정되면 해당 위치에서부터 substring을 검색하여 처음 검색한 위치 인덱스 값을 반환한다. substring이 string 내에서 검색되지 않으면 0을 반환한다.
LOCATE 함수는 POSITION 함수와 유사하게 동작하지만, 비트열에 대해서는 LOCATE 함수를 적용할 수 없다.
LOCATE ( substring, string [, position] )
string :
• character string
• NULL
--it returns 1 when substring is empty space
SELECT LOCATE ('', '12345abcdeabcde');
===============================
1
--it returns position of the first 'abc'
SELECT LOCATE ('abc', '12345abcdeabcde');
================================
6
--it returns position of the second 'abc'
SELECT LOCATE ('abc', '12345abcdeabcde', 8);
======================================
11
--it returns 0 when no substring found in the string
SELECT LOCATE ('ABC', '12345abcdeabcde');
=================================
0