How to get the first field value for "SELECT 1 AS ID, COUNT(*) AS NUM FROM SAMPLE_TABLE;" with OCI i
I executed the following SQL through OCI interface:
SELECT 1 AS ID, COUNT(*) AS NUM FROM SAMPLE_TABLE;
called:
OCIAttrGet(attr, OCI_DTYPE_PARAM, &datatype, 0, OCI_ATTR_DATA_TYPE, error);
OCIAttrGet(attr, OCI_DTYPE_PARAM, &precision, 0, OCI_ATTR_PRECISION, error);
OCIAttrGet(attr, OCI_DTYPE_PARAM, &scale, 0, OCI_ATTR_SCALE, error);
OCIAttrGet(attr, OCI_DTYPE_PARAM, &datasize, 0, OCI_ATTR_DATA_SIZE, error);
and results were: datatype=2(SQLT_NUM), precision=0, scale=-127 and datasize=2. What kind of data type is it?
I tried to convert the field value (i think it should be 1.) to bigint using OCINumberToInt(error, buff, sizeof(DB_INT64), OCI_NUMBER_SIGNED, pValue), i got "ErrMsg: OCI-22054: underflow error".
SELECT 1 AS ID, COUNT(*) AS NUM FROM SAMPLE_TABLE;
called:
OCIAttrGet(attr, OCI_DTYPE_PARAM, &datatype, 0, OCI_ATTR_DATA_TYPE, error);
OCIAttrGet(attr, OCI_DTYPE_PARAM, &precision, 0, OCI_ATTR_PRECISION, error);
OCIAttrGet(attr, OCI_DTYPE_PARAM, &scale, 0, OCI_ATTR_SCALE, error);
OCIAttrGet(attr, OCI_DTYPE_PARAM, &datasize, 0, OCI_ATTR_DATA_SIZE, error);
and results were: datatype=2(SQLT_NUM), precision=0, scale=-127 and datasize=2. What kind of data type is it?
I tried to convert the field value (i think it should be 1.) to bigint using OCINumberToInt(error, buff, sizeof(DB_INT64), OCI_NUMBER_SIGNED, pValue), i got "ErrMsg: OCI-22054: underflow error".
0