> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ODBCDriver2 포맷 문서

# ODBCDriver2

| 입력 | 출력 | 별칭 |
| -- | -- | -- |
| ✗  | ✔  |    |

<div id="description">
  ## 설명
</div>

`ODBCDriver2` 포맷은 HTTP를 통해 [ClickHouse용 `ODBC` 드라이버](/ko/concepts/features/interfaces/odbc)로 쿼리 결과를 전송하는 데 사용되는 바이너리 출력 전용 포맷입니다. 드라이버는 `default_format`을
`ODBCDriver2`로 설정하여 이 포맷을 요청하며, 일반적으로 사용자가 직접 선택하지는 않습니다.

스트림의 모든 정수는 리틀 엔디언 바이트 순서로 인코딩된 부호 있는 32비트 값입니다. 문자열은 바이트
길이와 그 뒤에 이어지는 바이트로 인코딩됩니다. 출력 구조는 다음과 같습니다.

1. 뒤이어 2개의 헤더 행이 있음을 나타내는 값 `2`입니다.
2. 값 `number_of_columns + 1`, 문자열 `name`, 각 컬럼명을 포함하는 이름 헤더입니다.
3. 값 `number_of_columns + 1`, 문자열 `type`, 각 ClickHouse 데이터 타입 이름을 포함하는 타입 헤더입니다.
   이 타입 이름에서는 `LowCardinality` 래퍼가 제거됩니다.
4. 데이터 행입니다. 각 행에는 결과 컬럼마다 텍스트로 직렬화되고 길이 접두사가 붙은 값 1개가 포함됩니다. 데이터 행에는
   별도의 행 또는 컬럼 수가 포함되지 않으며, 스트림은 `EOF`에서 끝납니다.

`NULL` 값은 길이 `-1`로 인코딩되며, 비어 있는 non-NULL 문자열의 길이는 `0`입니다. 합계가 있는 경우
동일한 행 인코딩을 사용하며 일반 행 뒤에 이어집니다.

<div id="example-usage">
  ## 사용 예시
</div>

다음 쿼리는 이 포맷의 테스트에서 다루는 값을 보여 주는 예시입니다:

```sql theme={null}
SELECT
    1 AS x,
    [2, 3] AS y,
    'Hello' AS z,
    NULL AS a
FORMAT ODBCDriver2
```

결과가 바이너리이므로 터미널이 아닌 파일로 리디렉션하십시오:

```shell theme={null}
clickhouse-client --query \
    "SELECT 1 AS x, [2, 3] AS y, 'Hello' AS z, NULL AS a FORMAT ODBCDriver2" \
    > result.bin
```

일반적인 사용 시 드라이버는 HTTP 요청에 `default_format=ODBCDriver2`를 추가하고 응답을 디코딩합니다.

<div id="format-settings">
  ## 포맷 설정
</div>

`ODBCDriver2`는 개별 값에 표준 텍스트 직렬화 설정을 사용합니다. 포맷 자체에 특화된 설정은 없습니다.
