ORACLE LONG类型转为VARCHAR

ORACLE LONG类型转为VARCHAR

create table user_tb(
id number(5) primary key,
name varchar2(10) not null,
money long
);

ORACLE LONG类型转为VARCHAR_第1张图片
转换步骤:
1、创建一张临时表 test_table 接收 user表的字段,to_lob(money)是将long类型的字段转换成clob类型的字段。
create table test_table(id,money) as select id,to_lob(money) from user_tb;
ORACLE LONG类型转为VARCHAR_第2张图片
2、通过唯一键id关联,使用DBMS_LOB.SUBSTR函数将clob转换为varchar。
select a.id,a.name,DBMS_LOB.SUBSTR(b.money,32767) money from user_tb a left join test_table b on a.id = b.id;
ORACLE LONG类型转为VARCHAR_第3张图片
3、删除临时表
drop table test_table;

你可能感兴趣的:(oracle,数据库)