SQL to C: Numeric

The numeric HCL OneDB™ ODBC Driver SQL data types are SQL_DECIMAL, SQL_DOUBLE, SQL_INTEGER, SQL_REAL, and SQL_SMALLINT

The following table shows the HCL OneDB ODBC Driver C data types to which numeric SQL data can be converted.

The HCL OneDB ODBC Driver C data types to which numeric SQL data can be converted.

fCType Test rgbValue pcbValue SQLSTATE
SQL_C_BINARY Length of data < cbValueMax. Data Length of data N/A
Length of data > cbValueMax. Untouched Untouched 22003
SQL_C_BIT Data is 0 or 1. Data 1 N/A
Data is greater than 0, less than 2, and not equal to 1. Truncated data 1 01004
Data is less than 0 or greater than or equal to 2. Untouched Untouched 22003
Data is not a numeric-literal. Untouched Untouched

(The size of the corresponding C data type is 1.)

22005
SQL_C_CHAR Display size < cbValueMax Data Length of data N/A
Number of whole (as opposed to fractional) digits < cbValueMax. Truncated data Length of data 01004
Number of whole (as opposed to fractional) digits cbValueMax. Untouched Untouched 22003
SQL_C_DOUBLESQL_C_FLOAT Data is within the range of the data type to which the number is being converted. Data Size of the C data type N/A
Data is outside the range of the data type to which the number is being converted.

(HCL OneDB ODBC Driver ignores the value of cbValueMax for this conversion. HCL OneDB ODBC Driver uses the size of rgbValue for the size of the C data type.)

Untouched Untouched 22003
SQL_C_LONGSQL_C_SHORTSQL_C_SLONGSQL_C_SSHORTSQL_C_STINYINTSQL_C_TINYINTSQL_C_ULONGSQL_C_USHORTSQL_C_UTINYINT Data converted without truncation. Data Size of the C data type N/A
Data converted with truncation of fractional digits. Truncated data Size of the C data type 01004
Conversion of data would result in loss of whole (as opposed to fractional) digits.

(HCL OneDB ODBC Driver ignores the value of cbValueMax for this conversion. HCL OneDB ODBC Driver uses the size of rgbValue for the size of the C data type.)

Untouched Untouched 22003