Oracle中的LONG类型有两种:
LONG文本类型,能存储2GB的文本。与VARCHAR2或CHAR类型一样,存储在LONG类型中的文本要进行字符集转换。
LONG RAW类型,能存储2GB的原始二进制数据(不用进行字符集转换的数据)。
在此并不解释如何使用LONG类型,而是会解释为什么你不希望在应用中使用LONG(或LONG RAW)类型。首先要注意的是,Oracle文档在如何处理LONG类型方面描述得很明确。Oracle SQL Reference手册指出:
不要创建带LONG列的表,而应该使用LOB列(CLOB、NCLOB、BLOB)。支持LONG列只是为了保证向后兼容性。
没有内置的函数处理,得自己写处理函数,可以参考:网页链接
第一,数据库中没有long型。oracle db2等数据库中,请使用number(24)作为类型。java中long的长度好像没超过16位。如果使用很大的整数,请使用java.math包中的 bigInteger类型。第二。你这个完全可以存储为字符串或者日期类型好么?
Oracle 中LONG 是 可变长度的字符数据,其长度可达2G个字节,而非JAVA中的long类型,所有才会出现数字转成字符的错误,必须得用TO_CHAR方法才可以,反之是没问题的。你用number类型存就可以了,包含java中的long的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)