Замечания по выпуску


35.7 Глава 20. Programming in C and C++

Информация в следующей таблице дополняет информацию, включенную в главу 7, "Stored Procedures", в главу 15, "Writing User-Defined Functions and Methods" и в главу 20, "Programming in C and C++". В этой таблице перечислены поддерживаемые отображения между типами данных SQL и типами данных C для хранимых процедур, пользовательских функций и методов.

35.7.1 Типы C/C++ для хранимых процедур, пользовательских функций и методов


Табл. 11. Типы данных SQL, соответствующие объявлениям C/C++
Тип столбца SQL Тип данных C/C++ Описание типа столбца SQL

SMALLINT (500 или 501)

sqlint16 16-битное целое со знаком

INTEGER
(496 или 497)

sqlint32 32-битное целое со знаком

BIGINT
(492 или 493)

sqlint64 64-битное целое со знаком

REAL (480 или 481)

float Число с плавающей точкой, одинарной точности

DOUBLE (480 или 481)

double Число с плавающей точкой, двойной точности

DECIMAL(p, s)
(484 или 485)

Не поддерживается.

Чтобы передать значение типа DECIMAL, задайте для этого параметра тип данных, в который может быть преобразован тип DECIMAL (например, CHAR или DOUBLE), и явно преобразуйте аргумент в этот тип данных.


CHAR(n)
(452 или 453)

char[n+1] где n достаточно велико, чтобы вместить данные
1<=n<=254
Символьная строка фиксированной длины с пустым символом-ограничителем

CHAR(n) FOR BIT DATA
(452 или 453)

char[n+1] где n достаточно велико, чтобы вместить данные
1<=n<=254
Символьная строка фиксированной длины

VARCHAR(n)
(448 или 449) (460 или 461)

char[n+1] где n достаточно велико, чтобы вместить данные
1<=n<=32 672
Строка переменной длины с пустым символом-ограничителем

VARCHAR(n) FOR BIT DATA
(448 или 449)


struct {
  sqluint16 length;
  char[n]
}
 
1<=n<=32 672

Символьная строка переменной длины без пустого символа-ограничителя

LONG VARCHAR
(456 или 457)


struct {
  sqluint16 length;
  char[n]
}
 
32 673<=n<=32 700

Символьная строка переменной длины без пустого символа-ограничителя

CLOB(n)
(408 или 409)


struct {
  sqluint32 length;
  char data[n];
}
 
1<=n<=2 147 483 647

Символьная строка переменной длины без пустого символа-ограничителя с 4-байтным индикатором длины строки

BLOB(n)
(404 или 405)


struct {
  sqluint32 length;
  char data[n];
}
 
1<=n<=2 147 483 647

Двоичная строка переменной длины без пустого символа-ограничителя с 4-байтным индикатором длины строки

DATE (384 или 385)

char[11] Символьный формат с пустым символом-ограничителем

TIME (388 или 389)

char[9] Символьный формат с пустым символом-ограничителем

TIMESTAMP (392 или 393)

char[27] Символьный формат с пустым символом-ограничителем
Прим.:Следующие типы данных доступны только в среде DBCS или EUC при прекомпиляции с опцией WCHARTYPE NOCONVERT.

GRAPHIC(n)
(468 или 469)

sqldbchar[n+1] где n достаточно велико, чтобы вместить данные
1<=n<=127
Строка двухбайтных символов фиксированной длины с пустым символом-ограничителем

VARGRAPHIC(n)
(400 или 401)

sqldbchar[n+1] где n достаточно велико, чтобы вместить данные
1<=n<=16 336
Строка двухбайтных символов переменной длины без пустого символа-ограничителя

LONG VARGRAPHIC
(472 или 473)


struct {
  sqluint16 length;
  sqldbchar[n]
}
 
16 337<=n<=16 350

Строка двухбайтных символов переменной длины без пустого символа-ограничителя

DBCLOB(n)
(412 или 413)


struct {
  sqluint32 length;
  sqldbchar data[n];
}
 
1<=n<=1 073 741 823

Символьная строка переменной длины без пустого символа-ограничителя с 4-байтным индикатором длины строки


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]