POSITION은 모든 데이터 유형(BIT, BLOB, CHARACTER)을 가공하고 한 문자열 내에 있는 다른 문자열의 위치를 리턴하는 문자열 조종 함수입니다.
POSITION은 두 번째 문자열(SourceExpression)에 있는 한 문자열의 위치(SearchExpression)를 제공하는 정수를 리턴합니다. 자리 1은 소스 문자열의 첫 번째 문자에 해당합니다.
FROM절이 있으면 검색이 시작되는 검색 문자열 내의 자리를 제공합니다. FROM절이 없는 경우 소스 문자열은 처음부터 검색됩니다.
REPEAT절이 있는 경우 반복 수를 제공하며 소스 문자열 내에서 검색 문자열의 N 번째 발생이 되도록 자리를 리턴합니다. 반복 수가 음수인 경우 소스 문자열은 끝에서부터 검색됩니다.
REPEAT절이 없는 경우 반복 수 +1이 가정됩니다. 즉, 처음부터 검색되는 첫 번째 발생 자리가 리턴됩니다. 검색 문자열의 길이가 0인 경우 결과는 1입니다.
검색 문자열을 찾을 수 없으면 결과가 0입니다. FROM절이 있는 경우에는 검색할 소스 문자열 섹션에만 적용되며, REPEAT절이 있으면 문자열 발생이 충분하지 않은 경우에만 적용됩니다.
매개변수가 널(null)인 경우 결과는 널(null)입니다.
검색 및 소스 문자열은 CHARACTER, BLOB 또는 BIT 데이터 유형일 수 있지만 동일한 유형이어야 합니다.
POSITION('Village' IN 'Hursley Village'); returns 9 POSITION('Town' IN 'Hursley Village'); returns 0 POSITION ('B' IN 'ABCABCABCABCABC'); -> returns 2 POSITION ('D' IN 'ABCABCABCABCABC'); -> returns 0 POSITION ('A' IN 'ABCABCABCABCABC' FROM 4); -> returns 4 POSITION ('C' IN 'ABCABCABCABCABC' FROM 2); -> returns 3 POSITION ('B' IN 'ABCABCABCABCABC' REPEAT 2); -> returns 5 POSITION ('C' IN 'ABCABCABCABCABC' REPEAT 4); -> returns 12 POSITION ('A' IN 'ABCABCABCABCABC' FROM 4 REPEAT 2); -> returns 7 POSITION ('AB' IN 'ABCABCABCABCABC' FROM 2 REPEAT 3); -> returns 10 POSITION ('A' IN 'ABCABCABCABCABC' REPEAT -2); -> returns 10 POSITION ('BC' IN 'ABCABCABCABCABC' FROM 2 REPEAT -3); -> returns 5