Поделиться через


Преобразование из C в SQL: отметки времени

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

SQL_C_TYPE_TIMESTAMP

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

Идентификатор типа SQL Тест SQLSTATE
SQL_CHAR

SQL_VARCHAR

SQL_LONGVARCHAR
Длина байтов столбца = длина >байтов символа

19 <= длина байтов столбца <

Длина < байтов столбца 19

Значение данных не является допустимым меткой времени
Н/Д

22001

22001

22008
SQL_WCHAR

SQL_WVARCHAR

SQL_WLONGVARCHAR
Длина символа столбца = длина >символов данных

19 <= длина символа столбца длины < символов данных

Длина < символа столбца 19

Значение данных не является допустимым меткой времени
Н/Д

22001

22001

22008
SQL_TYPE_DATE Поля времени равны нулю

Поля времени являются ненулевой

Значение данных не содержит допустимой даты
Н/Д

22008

22007
SQL_TYPE_TIME Поля дробных секунд равны нулю[a]

Поля дробных секунд ненулевое[a]

Значение данных не содержит допустимого времени
Н/Д

22008

22007
SQL_TYPE_TIMESTAMP Поля дробных секунд не усечены

Поля дробных секунд усечены

Значение данных не является допустимым меткой времени
Н/Д

22008

22007

[a] Поля даты структуры метки времени игнорируются.

Сведения о допустимых значениях в структуре SQL_C_TIMESTAMP см . в разделе "Типы данных C" ранее в этом приложении.

При преобразовании меток времени C в символьные данные SQL результирующий символьный код находится в "гггг мм--дд чч:мм:ss[.формат f...].

Драйвер игнорирует значение длины или индикатора при преобразовании данных из типа данных timestamp C и предполагает, что размер буфера данных — это размер типа данных timestamp C. Значение длины или индикатора передается в аргументе StrLen_or_Ind в SQLPutData и в буфере, указанном с аргументом StrLen_or_IndPtr в SQLBindParameter. Буфер данных указывается с аргументом DataPtr в SQLPutData и аргументом ParameterValuePtr в SQLBindParameter.