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