OCI資料型別與C語言資料型別問題

2021-05-27 00:27:40 字數 554 閱讀 3155

通過oci函式執行資料庫sql,提取值到記憶體中進行處理,執行sql如下

select out_bytes/1024 from bf_discharge_info_t;

使用函式ocidefinebypos進行繫結時,oci型別使用的sqlt_int,導致資料被取整,應該使用sqlt_flt。

oci資料型別與c語言資料型別對照表:

表字段型別    oci型別        c型別 備註  

number(n)            sqlt_uin  int 無符號整型 

number(n)            sqlt_int  int 有符號整型 

number(n,m)        sqlt_flt  float 符點數 

varchar2(n)           sqlt_chr   char 字串 

raw(n)             sqlt_bin        具體看不同的定義 二進位制型別,多用於乙個結構字段 

date sqlt_dat 無                     最好轉換成字串或數字

SQL SERVER資料型別與C 資料型別對照表

sql server型別 c 型別 精確數字 bigint 從 2 63 9223372036854775808 到 2 63 1 9223372036854775807 的整型資料 所有數字 儲存大小為 8 個位元組。int64 int從 2 31 2,147,483,648 到 2 31 1 2...

SQL SERVER資料型別與C 資料型別對照表

sql server 型別 c 型別 精確數字 bigint 從 2 63 9223372036854775808 到2 63 1 9223372036854775807 的整型資料 所有數字 儲存大小為 8 個位元組。int64 int 從 2 31 2,147,483,648 到2 31 1 2...

SQL SERVER資料型別與C 資料型別對照表

sql server 資料型別與 c 資料型別對照表 sql server型別 c 型別 精確數字 bigint 從 2 63 9223372036854775808 到 2 63 1 9223372036854775807 的整型資料 所有數字 儲存大小為 8 個位元組。int64 int從 2 ...