Static ESQL Data Type Matching

In static ESQL, a host variable must have a data type that is compatible with the SQL table column. Data conversion is not supported in static ESQL. For information on data conversion in dynamic ESQL, see the "Dynamic ESQL Data Type Matching and Conversion" section. Table B–2 shows the compatible C language data types for each SQL data type.

Table B–2: Progress/SQL Data Types and C Equivalents
SQL Data Types
C Data Types
CHARACTER
char
DATE1
sqldate (char)
DECIMAL, NUMERIC
sqldec (char)
FLOAT, REAL
float2
DOUBLE PRECISION
double2
INTEGER
long (int)3
SMALLINT
short
LOGICAL1
sqlbool (char)
  1. These are non-standard, Progress-defined SQL data types.
  2. You can move data from the corresponding SQL type to these data types, but with a possible loss of precision.
  3. The int C data type is non-standard for ESQL.

NOTE: RAW data types are not supported in Progress/ESQL. An attempt to retrieve data of this type will result in an error.

Any numeric SQL data type (DECIMAL, FLOAT, INTEGER, NUMERIC, REAL, and SMALLINT) is compatible with any of the numeric C data types listed in Table B–2.

Each SQL data type maps to a core Progress data type in the database. For example, an SQL column specified as REAL is stored as a Progress DECIMAL value. For more information on how SQL data types map to Progress data types, see the "SQL and Core Progress Data Types" section.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095