oracle查看long字段,Oracle关于LONG字段查询的问题

今天遇到一张表中内容为LONG类型的数据,在PL/SQL DEVELOPER中是可以直接查看到该数据类型为LONG的字段内容的。

但在PLSQL中查看的内容则与之不同,显示为数值型的

SQL> SET LONG 999999999

SQL> SELECT HIGH_VALUE FROM USER_TAB_PARTITIONS;

HIGH_VALUE

---------------

1462840498, 4966

1462840498, 4966

1462840498, 4966

1462840498, 4966

我想进行类型间的转化,比如把LONG字段类型转化为字符型。怎么办?

网上也提供了办法就是先把LONG类型转化为CLOB,然后再通过数据库的DBMS_LOB进行转化

首先通过TO_LOB函数将LONG类型转化为CLOB类型,官网中解释该函数的用法:

提到要进行转化,必须把该字段的内容重新插入到一张新表中数据类型为CLOB的字段中。

CREATE TABLE TEMP_UP(DATA_L CLOB);

INSERT INTO TEMP_UP (SELECT TO_LOB(HIGH_VALUE) FROM USER_TAB_PARTITIONS WHERE ROWNUM<2 );

--获取CLOB数据类型字段的长度

SELECT DBMS_LOB.GETLENGTH(DATA_L) FROM TEMP_UP;

--截取字段内容中从第11个字符开始向后19个字节长度的内容

DBMS_LOB.SUBSTR(DATA_L,11,19)

--截取CLOB数据类型字段的所有内容

DBMS_LOB.SUBSTR(DATA_L,32767)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值