Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Идентификаторы символьных типов данных ODBC SQL приведены ниже.
- SQL_CHAR
- SQL_VARCHAR
- SQL_LONGVARCHAR
- SQL_WCHAR
- SQL_WVARCHAR
- SQL_WLONGVARCHAR
В следующей таблице показаны типы данных ODBC C, в которые могут быть преобразованы символьные данные SQL. Описание столбцов и терминов в таблице см. в разделе "Преобразование данных из SQL в типы данных C".
| Идентификатор типа C | Тест | TargetValuePtr | StrLen_or_IndPtr | SQLSTATE |
|---|---|---|---|---|
| SQL_C_CHAR | Длина байтов данных <BufferLength Длина байтов данных >= BufferLength |
Data Усеченные данные |
Длина данных в байтах Длина данных в байтах |
Недоступно 01004 |
| SQL_C_WCHAR | Длина символа буфера данных <BufferLength Длина символов данных >= BufferLength |
Data Усеченные данные |
Длина данных в символах Длина данных в символах |
Недоступно 01004 |
| SQL_C_STINYINT SQL_C_UTINYINT SQL_C_TINYINT SQL_C_SBIGINT SQL_C_UBIGINT SQL_C_SSHORT SQL_C_USHORT SQL_C_SHORT SQL_C_SLONG SQL_C_ULONG SQL_C_LONG SQL_C_NUMERIC | Данные преобразуются без усечения[b] Данные, преобразованные с усечением дробных цифр[a] Преобразование данных приведет к потере целого (в отличие от дробных) цифр[a] Данные не являются числовым литеральным[b] |
Data Усеченные данные Undefined Undefined |
Число байтов типа данных C Число байтов типа данных C Undefined Undefined |
Недоступно 01S07 22003 22018 |
| SQL_C_FLOAT SQL_C_DOUBLE | Данные находится в диапазоне типа данных, в который преобразуется число[a] Данные находятся вне диапазона типа данных, в который преобразуется число[a] Данные не являются числовым литеральным[b] |
Data Undefined Undefined |
Размер типа данных C Undefined Undefined |
Недоступно 22003 22018 |
| SQL_C_BIT | Данные : 0 или 1 Данные больше 0, менее 2 и не равны 1 Данные меньше 0 или больше или равно 2 Данные не являются числовым литералом |
Data Усеченные данные Undefined Undefined |
1[b] 1[b] Undefined Undefined |
Недоступно 01S07 22003 22018 |
| SQL_C_BINARY | Длина байтов данных <= BufferLength Длина байтов данных >BufferLength |
Data Усеченные данные |
Длина данных в байтах Длина данных |
Недоступно 01004 |
| SQL_C_TYPE_DATE | Значение данных — допустимое значение даты[a] Значение данных является допустимым значением метки времени; часть времени равна нулю[a] Значение данных является допустимым значением метки времени; часть времени ненулевой[a],[c] Значение данных не является допустимым значением даты или метки времени[a] |
Data Data Усеченные данные Undefined |
6[b] 6[b] 6[b] Undefined |
Недоступно Недоступно 01S07 22018 |
| SQL_C_TYPE_TIME | Значение данных является допустимым значением времени, а значение дробных секунд — 0[a] Значение данных является допустимым значением метки времени или допустимым значением времени; часть дробных секунд равна нулю[a],[d] Значение данных является допустимым значением метки времени; часть дробных секунд ненулевой[a],[d],[e] Значение данных не является допустимым значением времени или меткой времени[a] |
Data Data Усеченные данные Undefined |
6[b] 6[b] 6[b] Undefined |
Недоступно Недоступно 01S07 22018 |
| SQL_C_TYPE_TIMESTAMP | Значение данных — допустимое значение метки времени или допустимое значение времени; часть дробных секунд не усечена[a] Значение данных — допустимое значение метки времени или допустимое значение времени; часть дробных секунд усечена[a] Значение данных — допустимое значение даты[a] Значение данных — допустимое значение времени[a] Значение данных не является допустимым значением даты, времени или меткой времени[a] |
Data Усеченные данные Data[f] Data[g] Undefined |
16[b] 16[b] 16[b] 16[b] Undefined |
Недоступно 01S07 Недоступно Недоступно 22018 |
| Все типы интервалов C | Значение данных является допустимым значением интервала; усечение не выполняется. Значение данных — допустимое значение интервала; усечение одного или нескольких конечных полей Допустимый интервал данных; ведущее поле значительной точностью теряется Значение данных не является допустимым значением интервала |
Data Усеченные данные Undefined Undefined |
Длина данных в байтах Длина данных в байтах Undefined Undefined |
Недоступно 01S07 22015 22018 |
[a] Значение BufferLength игнорируется для этого преобразования. Драйвер предполагает, что размер *TargetValuePtr — это размер типа данных C.
[b] Это размер соответствующего типа данных C.
[c] Часть времени метки времени усечена.
[d] Часть даты значения метки времени игнорируется.
[e] Доля секунды метки времени усечена.
[f] Поля времени структуры метки времени равны нулю.
[g] Поля даты структуры метки времени задаются текущей датой.
Дополнительные пробелы
Начальные и конечные пробелы игнорируются при преобразовании символьных данных SQL в любой из следующих типов:
- date
- numeric
- Время
- TIMESTAMP
- данные интервала C