Преобразование из 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.