oracle中如何用sql将CLOB,BLOB类型转换成字符串??
表中有一个字段类型是CLOB,想把它转成字符串,dbms_lob.substr( ) 可以用,但是字段超过一定长度就报错,请问用sql还有其他方式实现吗?
直接用to_lob可以
SELECT TO_LOB(clob_column) AS clob_string, TO_LOB(blob_column) AS blob_string
FROM table;
还有种匿名块的方法,不过我相信你不会喜欢的
最近在迁移数据时,遇到了将Clob类型转换成Blob的问题,历史数据中文件内容是使用Clob类型存储,而新表使用的Blob类型,这样就导致在迁移文件时需要将类型转换。
我问的是 CLOB转换成 字符串,不是 转化成CLOB
没用过这个数据类型,
你看看这个方法可以不
update hadoop.测试表 set 客户名称=to_clob(客户名称)
update hadoop.测试表 set 客户名称=to_char(客户名称)
用CAST函数强制类型转换。代码如下:
create table t2(a clob);
insert into t2 values('aaaaaaaaa');
select * from t2;
create table t3 as select cast(a as varchar2(30000)) str from t2;
select * from user_tab_cols where table_name in ('T2','T3');
使用CONVERT函数:CONVERT函数可以将字符集不同的大对象类型(如CLOB或BLOB)转换为指定字符集的字符串。
```sql
SELECT CONVERT(clob_column, 'AL32UTF8') AS clob_string
FROM your_table;
```