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


Преобразование из C в SQL: интервалы месяцев года

Идентификаторы для типов данных ODBC C за месяц:

SQL_C_INTERVAL_MONTH SQL_C_INTERVAL_YEAR SQL_C_INTERVAL_YEAR_TO_MONTH

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

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

SQL_VARCHAR[a]

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

Длина байтов столбца "Длина < байтов" [a]

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

22001

22015
SQL_WCHAR[a]

SQL_WVARCHAR[a]

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

Длина символа столбца для символов < данных[a]

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

22001

22015
SQL_TINYINT[b]

SQL_SMALLINT[b]

SQL_INTEGER[b]

SQL_BIGINT[b]

SQL_NUMERIC[b]

SQL_DECIMAL[b]
Преобразование интервала с одним полем не привело к усечению целых цифр

Преобразование привело к усечению целых цифр
Недоступно

22003
SQL_INTERVAL_MONTH

SQL_INTERVAL_YEAR

SQL_INTERVAL_YEAR_TO_MONTH
Значение данных было преобразовано без усечения полей

Одно или несколько полей значения данных были усечены во время преобразования
Недоступно

22015

[a] Все типы данных интервала C можно преобразовать в тип данных символов.

[b] Если поле типа в структуре интервала такое, что интервал является одним полем (SQL_YEAR или SQL_MONTH), тип интервала C можно преобразовать в любое точное число (SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_DECIMAL или SQL_NUMERIC).

Преобразование по умолчанию типа C интервала — в соответствующий тип SQL в месяц.

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