日期:2014-05-16  浏览次数:20399 次

(转)ORACLE LONG类型转化成VARCHAR2

Oracle中强烈不推荐用long类型,但是为了解燃眉之急,被迫用了long类型,简单啊,直接insert就行了。不过,没有想到long类型不支持Like,也不能直接to_char。?
后悔了,想将long改回varchar2类型,但是又不能直接修改,否则会报错,提醒必须要清空数据,为了不清空数据,综合网上的资料总结了以下解决方案:?
表jivemsg中的message类型long需要替换成varchar2:?

原jivemsg表结构:?
CREATE TABLE "JIVEMSG"?
?? ( "URI" VARCHAR2(100 BYTE) DEFAULT '' NOT NULL ENABLE,?
"SENDER" VARCHAR2(100 BYTE) DEFAULT '',?
"RECEIVER" VARCHAR2(100 BYTE) DEFAULT '',?
"CREATIONDATE" VARCHAR2(15 BYTE) DEFAULT '',?
"MESSAGETYPE" VARCHAR2(100 BYTE) DEFAULT '',?
"MESSAGESIZE" NUMBER(*,0) DEFAULT 0,?
"MESSAGE" LONG,?
"FKDOMAIN" VARCHAR2(20 BYTE) DEFAULT NULL,?
"VERSION" VARCHAR2(20 BYTE) DEFAULT NULL,?
"FLAGS" VARCHAR2(20 BYTE) DEFAULT NULL,?
"RECEIVERNAME" VARCHAR2(50 BYTE) DEFAULT NULL,?
"SENDERNAME" VARCHAR2(50 BYTE) DEFAULT NULL,?
CONSTRAINT "JIVEMSG_PK" PRIMARY KEY ("URI")?
?? );?

-------------------------------------?

转换步骤:?