

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# OCTETINDEX 함수
<a name="OCTETINDEX"></a>

OCTETINDEX 함수는 문자열 내의 하위 문자열 위치를 바이트 수로 반환합니다.

## 구문
<a name="OCTETINDEX-synopsis"></a>

```
OCTETINDEX(substring, string)
```

## 인수
<a name="OCTETINDEX-arguments"></a>

 *substring*   
`CHAR` 문자열, `VARCHAR` 문자열 또는 암시적으로 `CHAR` 또는 `VARCHAR` 형식으로 평가되는 표현식입니다.

 *문자열*()   
`CHAR` 문자열, `VARCHAR` 문자열 또는 암시적으로 `CHAR` 또는 `VARCHAR` 형식으로 평가되는 표현식입니다.

## 반환 타입
<a name="OCTETINDEX-return-type"></a>

 INTEGER   
OCTETINDEX 함수는 *문자열* 내 *하위 문자열*의 위치에 해당하는 `INTEGER` 값을 바이트 수로 반환하며, 여기서 *문자열*의 첫 번째 문자는 1로 계산됩니다. **문자열에 멀티바이트 문자가 포함되어 있지 않으면 결과는 CHARINDEX 함수의 결과와 같습니다. **문자열에 **하위 문자열이 포함되어 있지 않으면 함수는 `0`을 반환하고 **하위 문자열이 비어 있으면 함수는 `1`을 반환합니다.

## 예제
<a name="OCTETINDEX-examples"></a>

`q` 문자열에서 하위 문자열 `Amazon Redshift`의 위치를 반환하려면 다음 예제를 사용합니다. 이 예제에서는 **하위 문자열이 **문자열에 없으므로 `0`을 반환합니다.

```
SELECT OCTETINDEX('q', 'Amazon Redshift');

+------------+
| octetindex |
+------------+
|          0 |
+------------+
```

문자열 `Amazon Redshift`에서 비어 있는 하위 문자열의 위치를 반환하려면 다음 예제를 사용합니다. 이 예에서는 **하위 문자열이 비어 있으므로 `1`을 반환합니다.

```
SELECT OCTETINDEX('', 'Amazon Redshift');

+------------+
| octetindex |
+------------+
|          1 |
+------------+
```

`Redshift` 문자열에서 하위 문자열 `Amazon Redshift`의 위치를 반환하려면 다음 예제를 사용합니다. 이 예제에서는 **하위 문자열이 **문자열의 8번째 바이트에서 시작하므로 `8`을 반환합니다.

```
SELECT OCTETINDEX('Redshift', 'Amazon Redshift');

+------------+
| octetindex |
+------------+
|          8 |
+------------+
```

`Redshift` 문자열에서 하위 문자열 `Amazon Redshift`의 위치를 반환하려면 다음 예제를 사용합니다. 이 예제에서는 **문자열의 처음 6자가 더블바이트 문자이므로 `21`을 반환합니다.

```
SELECT OCTETINDEX('Redshift', 'Άμαζον Amazon Redshift');

+------------+
| octetindex |
+------------+
|         21 |
+------------+
```