Pro*C程序中Oracle和C之间的类型变换规则

Pro*c程序中Oracle和C之间的类型变换规则:

VARCHAR2(n)

char[n+1]

CHAR

char[1+1]

CHAR(n)

char[n+1]

NUMBER

VARCHAR[38+2]

NUMBER(p)

int            p < 10

double         10 <= p < 16

VARCHAR[n]  p >= 16

NUMBER(p,s)

p < 16   时:double

p >= 16  时:VARCHAR[n]

当s <= 0 时:n = p - s + 1

当s > 0时:

p > s  时:n = p + 2

      p <= s 时:n = p + 3

DATE

char[14+1]

LONG

VARCHAR[32761]

RAW

unsigned char[256]

LONG RAW

VARCHAR[32761]

ROWID

unsigned char[256]

MLSLABEL

unsigned char[8]

原文地址:https://www.cnblogs.com/dahuzizyd/p/ProC_Oracle_C.html