Длительность октета передачи

Длина октета передачи столбца — максимальное количество байтов, возвращаемых приложению при передаче данных в тип данных C по умолчанию. Для символьных данных длина октета передачи не включает пробел для символа завершения null. Длина октета передачи столбца может отличаться от количества байтов, необходимых для хранения данных в источнике данных.

Длина октета передачи, определенная для каждого типа данных ODBC SQL, показана в следующей таблице.

Идентификатор типа SQL Длина
Все типы символов[a] Определенная или максимальная длина столбца в байтах (для типа переменной). Это то же значение, что и поле дескриптора SQL_DESC_OCTET_LENGTH.
SQL_DECIMAL
SQL_NUMERIC
Количество байтов, необходимых для хранения символьного представления этих данных, если набор символов — ANSI, и в два раза это число, если набор символов имеет значение ЮНИКОД. Это максимальное число цифр плюс два, так как данные возвращаются как символьная строка и символы необходимы для цифр, знака и десятичной запятой. Например, длина передачи столбца, определенного как NUMERIC(10,3), равна 12.
SQL_TINYINT 1
SQL_SMALLINT 2
SQL_INTEGER 4
SQL_BIGINT 8
SQL_REAL 4
SQL_FLOAT 8
SQL_DOUBLE 8
SQL_BIT 1
Все двоичные типы[a] Количество байтов, необходимых для хранения определенного (для фиксированных типов) или максимального (для типов переменных) количества символов.
SQL_TYPE_DATE
SQL_TYPE_TIME
6 (размер SQL_DATE_STRUCT или SQL_TIME_STRUCT структуры).
SQL_TYPE_TIMESTAMP 16 (размер структуры SQL_TIMESTAMP_STRUCT).
Все типы данных интервала 34 (размер структуры интервала).
SQL_GUID 16 (размер структуры GUID).

[a] Если драйвер не может определить длину столбца или параметра для типов переменных, он возвращает SQL_NO_TOTAL.