Notas del release

35.7 Capítulo 20. Programación en C y C++

La tabla siguiente complementa la información incluida en el capítulo 7, "Procedimientos almacenados", en el capítulo 15, "Escritura de funciones definidas por el usuario y métodos" y en el capítulo 20, "Programación en C y C++". La tabla lista las correlaciones soportadas entre tipos de datos SQL y tipos de datos C para procedimientos almacenados, UDF y métodos.

35.7.1 Tipos de C/C++ para procedimientos almacenados, funciones y métodos


Tabla 22. Tipos de datos SQL correlacionados con declaraciones C/C++
Tipo de columna SQL Tipo de datos C/C++ Descripción del tipo de columna SQL
SMALLINT
(500 ó 501)
sqlint16 entero con signo de 16 bits
INTEGER
(496 ó 497)
sqlint32 entero con signo de 32 bits
BIGINT
(492 ó 493)
sqlint64 entero con signo de 64 bits
REAL
(480 ó 481)
float Coma flotante de precisión simple
DOUBLE
(480 ó 481)
double Coma flotante de precisión doble
DECIMAL(p,s)
(484 ó 485)
No soportado.

Para pasar un valor decimal, defina el parámetro como de tipo de datos moldeable de DECIMAL (por ejemplo, CHAR o DOUBLE) y moldee explícitamente el argumento para este tipo.

CHAR(n)
(452 ó 453)
char[n+1] donde n es suficientemente grande para contener los datos
1<=n<=254
Serie de caracteres de longitud fija terminada en nulo
CHAR(n) FOR BIT DATA
(452 ó 453)
char[n+1] donde n es suficientemente grande para contener los datos
1<=n<=254
Serie de caracteres de longitud fija
VARCHAR(n)
(448 ó 449) (460 ó 461)
char[n+1] donde n es suficientemente grande para contener los datos
1<=n<=32 672
Serie de longitud variable terminada en nulo
VARCHAR(n) FOR BIT DATA
(448 ó 449)
struct {
  sqluint16 longitud
  char[n]
}
 
1<=n<=32 672
Serie de caracteres de longitud variable no terminada en nulo
LONG VARCHAR
(456 ó 457)
struct {
  sqluint16 longitud
  char[n]
}
 
32 673<=n<=32 700
Serie de caracteres de longitud variable no terminada en nulo
CLOB(n)
(408 ó 409)
struct {
  sqluint32 longitud;
  char datos[n];
}
 
1<=n<=2 147 483 647
Serie de caracteres de longitud variable no terminada en nulo con indicador de longitud de serie de 4 bytes
BLOB(n)
(404 ó 405)
struct {
  sqluint32 longitud;
  char datos[n];
}
 
1<=n<=2 147 483 647
Serie binaria variable no terminada en nulo con indicador de longitud de serie de 4 bytes
DATE (384 ó 385)
char[11] formato de caracteres terminado en nulo
TIME (388 ó 389)
char[9] formato de caracteres terminado en nulo
TIMESTAMP (392 ó 393)
char[27] formato de caracteres terminado en nulo
Nota:
Los tipos de datos siguientes sólo están disponibles en los entornos DBCS o EUC si se compilan previamente con la opción WCHARTYPE NOCONVERT.
GRAPHIC(n)
(468 ó 469)
sqldbchar[n+1] donde n es suficientemente grande para contener los datos
1<=n<=127
Serie de caracteres de doble byte de longitud fija terminada en nulo
VARGRAPHIC(n)
(400 ó 401)
sqldbchar[n+1] donde n es suficientemente grande para contener los datos
1<=n<=16 336
Serie de caracteres de doble byte de longitud variable no terminada en nulo
LONG VARGRAPHIC
(472 ó 473)
struct {
  sqluint16 longitud
  sqldbchar[n]
}
 
16 337<=n<=16 350
Serie de caracteres de doble byte de longitud variable no terminada en nulo
DBCLOB(n)
(412 ó 413)
struct {
  sqluint32 longitud;
  sqldbchar data[n];
}
 
1<=n<=1 073 741 823
Serie de caracteres de longitud variable no terminada en nulo con indicador de longitud de serie de 4 bytes


[ Principio de página | Página anterior | Página siguiente ]