SQL to C: Дата

Идентификатор типа данных ODBC SQL:

SQL_TYPE_DATE

В следующей таблице показаны типы данных ODBC C, в которые драйвер может преобразовать данные даты SQL. Описание столбцов и терминов в таблице см. в разделе "Преобразование данных из SQL в типы данных C".

Замечание

Для преобразования символов BufferLength должно содержать пробел для конца null. Строка даты имеет длину 10 символов (y-mm-dd), поэтому BufferLength должно быть не менее 11 байт, чтобы избежать усечения.

Идентификатор типа C Тест * TargetValuePtr * StrLen_or_IndPtr SQLSTATE
SQL_C_CHAR Длина байтов символа BufferLength>

11 <= bufferLength<= длина байтов символа

BufferLength< 11
Данные

Усеченные данные

Неопределено
10

Длина данных в байтах

Неопределено
n/a

01004

22003
SQL_C_WCHAR Длина символа BufferLength>

11 <= Длина символа BufferLength<=

BufferLength< 11
Данные

Усеченные данные

Неопределено
10

Длина данных в символах

Неопределено
n/a

01004

22003
SQL_C_BINARY Длина байтов данных <= BufferLength

Длина байтов данных >BufferLength
Данные

Неопределено
Длина данных в байтах

Неопределено
n/a

22003
SQL_C_TYPE_DATE Нет1 Данные 63 n/a
SQL_C_TYPE_TIMESTAMP Нет1 Данные2 163 n/a

1 Значение BufferLength игнорируется для этого преобразования. Драйвер предполагает, что размер *TargetValuePtr — это размер типа данных C.

2 Драйвер устанавливает для полей времени структуры метки времени нулевое значение.

3 Это размер соответствующего типа данных C.

Когда драйвер преобразует данные даты SQL в символьные данные C, результирующая строка находится в формате yy-- mmdd. Этот формат не влияет на параметр страны или региона Windows.