- 浏览: 530844 次
- 性别:
- 来自: 青岛
文章分类
- 全部博客 (222)
- 帖子来的 (3)
- JavaScript (25)
- Java (10)
- DataBase (2)
- el表达式 (1)
- html (4)
- FCKEDITOR和TINYMCE (3)
- tomcat (5)
- JavaEE (12)
- Eclipse (7)
- Windows (3)
- Dos命令 (1)
- Oracle (20)
- 乱搞 (1)
- AHK (3)
- TC (2)
- vim (12)
- Perl (13)
- ANT (6)
- Android (3)
- antlr (1)
- SSH (14)
- C/C++ (3)
- wordpress (4)
- CSS (3)
- java2D (1)
- Lucene (4)
- Linux (9)
- jquery (4)
- testsomething (7)
- JVM监控优化 (3)
- emacs (4)
- svn cvs版本控制 (2)
- 硬件 (1)
- j2me (2)
- maven (5)
- WebService (4)
- aspectJ (1)
- 算法 (2)
- mysql (1)
- project (2)
- 正则表达式 (2)
- firefox (1)
最新评论
-
直觉:
gua 顶
com.opensymphony.xwork2.inject.DependencyException -
fordfelix:
加了以后 任然存在这个异常 求解!!
struts2 json 插件 @JSON(serialize = false) -
fangyan_oracle:
谢谢了, 很受用
用IE修改当前页面内容的代码zzzz -
cfying:
[flash=200,200][/flash][url][/u ...
精解window.setTimeout()使用方式与参数传递问题!(转) -
qinglangee:
tiewazi 写道param必须是全局变量(即window对 ...
精解window.setTimeout()使用方式与参数传递问题!(转)
CREATE OR REPLACE FUNCTION blob_to_clob2 (blob_in IN BLOB) RETURN CLOB AS v_clob CLOB; v_varchar VARCHAR2(32767); v_start PLS_INTEGER := 1; v_buffer PLS_INTEGER := 32767; BEGIN DBMS_LOB.CREATETEMPORARY(v_clob, TRUE); if DBMS_LOB.GETLENGTH(blob_in) is null then return empty_clob(); end if; FOR i IN 1..CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer) LOOP v_varchar := UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in, v_buffer, v_start)); DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar); v_start := v_start + v_buffer; END LOOP; RETURN v_clob; END blob_to_clob2;
create or replace FUNCTION blob_to_clob (blob_in IN BLOB) RETURN CLOB IS v_clob CLOB; v_varchar VARCHAR2(4000); v_start PLS_INTEGER := 1; v_buffer PLS_INTEGER := 4000; g_nls_db_char varchar2(60); BEGIN select userenv('LANGUAGE') into g_nls_db_char from dual; if DBMS_LOB.GETLENGTH(blob_in) is null then return empty_clob(); end if; DBMS_OUTPUT.put_line('TEST:' || CEIL(DBMS_LOB.GETLENGTH(blob_in))); DBMS_LOB.CREATETEMPORARY(v_clob, TRUE); FOR i IN 1..CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer) LOOP v_varchar := UTL_RAW.CAST_TO_VARCHAR2(utl_raw.convert(DBMS_LOB.SUBSTR(blob_in, v_buffer, v_start),'SIMPLIFIED CHINESE_CHINA.ZHS16GBK', 'AMERICAN_THE NETHERLANDS.UTF8')); DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar); v_start := v_start + v_buffer; END LOOP; --DBMS_OUTPUT.put_line(v_varchar); RETURN v_clob; end blob_to_clob; create or replace FUNCTION blob_to_varchar (blob_in IN BLOB) RETURN VARCHAR2 IS v_varchar VARCHAR2(4000); v_start PLS_INTEGER := 1; v_buffer PLS_INTEGER := 4000; BEGIN --select userenv('LANGUAGE') into g_nls_db_char from dual; if DBMS_LOB.GETLENGTH(blob_in) is null then return empty_clob(); end if; DBMS_OUTPUT.put_line('TEST:' || CEIL(DBMS_LOB.GETLENGTH(blob_in))); --DBMS_LOB.CREATETEMPORARY(v_clob, TRUE); FOR i IN 1..CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer) LOOP v_varchar := UTL_RAW.CAST_TO_VARCHAR2(utl_raw.convert(DBMS_LOB.SUBSTR(blob_in, v_buffer, v_start),'SIMPLIFIED CHINESE_CHINA.ZHS16GBK', 'AMERICAN_THE NETHERLANDS.UTF8')); --DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar); v_start := v_start + v_buffer; END LOOP; --DBMS_OUTPUT.put_line(v_varchar); RETURN v_varchar; end blob_to_varchar;
发表评论
-
oracle 索引操作 创建 查看
2010-05-14 15:25 1766建立索引 create index index_name o ... -
查看引用表AAA的外键约束
2010-05-05 17:06 1157select a.constraint_name, a.ta ... -
查看oracle当前连接数,最大游标数(zz)
2010-04-02 08:58 9654原文: http://www.blogjava.net/tem ... -
oracle索引操作
2010-02-08 16:18 39建立索引 create index index_name o ... -
oracle查询字符串的速度怎样比较快
2010-01-30 11:52 1887oracle查询字符串的速度怎样比较快 一个表中有二十几万的 ... -
Oracle数据导入导出
2009-12-17 16:57 1324ORACLE中表、索引的表空 ... -
IMP数据到指定的表空间(zz)
2009-12-15 14:47 1478自己做的处理,首先照下面操作。 如果建的表中有LOB列,LOB ... -
查看及修改表空间大小(zz)
2009-12-14 09:52 4877原文: oracle数据库如何增加表空间大小 ... -
修改Oracle字符集(character set)
2009-12-12 17:08 1937要用一个有权限的用户进行以下操作 说明: ... -
oracle tnsnames文件
2009-12-12 16:54 1148在安装目录下,如:E:\Oracle \Ora81\netw ... -
Oracle创建表空间、创建用户以及授权、查看权限
2009-12-12 13:44 1652原帖:Oracle创建表空间、创建用户以及授权、查看权限 ... -
Oracle 细碎
2009-12-12 13:36 1034oracle 10g xe 管理界面 http://127. ... -
ORACLE导出用户的序列(sequence)
2009-12-12 13:28 4441oracle 的exp命令没有导出sequence的选项,在网 ... -
常用函数例子
2009-12-07 08:43 10011. replace select replace(' ... -
存储过程例子
2009-11-19 15:35 1266-- 会话级别临时表 Create G ... -
oracle通过一个表更新另一个表
2009-11-09 10:46 2133来自 http://www.blogjava.net/meng ... -
DECODE函数
2008-05-15 09:36 2128DECODE函数相当于一条件语句(IF).它将输入数值与函数中 ... -
查询一个表占用了多大的表空间
2008-04-07 14:21 2509SELECT owner, DECOD ... -
几个常用视图的说明
2008-03-28 13:53 3164• v$lock • v$sqlarea • v$sess ... -
在oracle中处理日期大全
2008-03-27 17:28 2346TO_DATE格式 ...
相关推荐
- 每次循环使用`DBMS_LOB.SUBSTR`读取一部分Blob数据,并将其转换为`VARCHAR2`类型。 - 使用`UTL_RAW.CAST_TO_VARCHAR2`进行类型转换。 - 通过`DBMS_LOB.WRITE_APPEND`方法将转换后的数据追加到临时Clob中。 4. ...
通过使用`UTL_RAW.CAST_TO_VARCHAR2`,我们可以将BLOB数据转换为中间的VARCHAR2格式,然后进一步转换为CLOB。 #### 2. DBMS_LOB Package `DBMS_LOB`是Oracle提供的一个用于操作大对象(LOB)的包。它包含了多种...
在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨MyBatis中处理CLOB类型数据的转换以及解决可能出现的异常情况。 首先,MyBatis是Java中的一...
一种常见的解决方案是在执行此操作之前先备份原数据,并使用适当的逻辑将CLOB字段中的数据截断至VARCHAR2可接受的范围内,或者在必要时将较长的数据拆分为多个VARCHAR2字段。 #### 问题2:兼容性问题 不同的数据库...
l_substring VARCHAR2(32767); BEGIN SELECT CLOB_COLUMN INTO l_clob FROM TABLE_NAME WHERE ID = 1; l_length := DBMS_LOB.GETLENGTH(l_clob); l_substring := DBMS_LOB.SUBSTR(l_clob, 32767); -- 处理l_...
LOB2Table 是一组 Oracle PL/SQL 流水线函数,允许您像普通表一样查询 CLOB、BLOB、BFILE 或 VARCHAR2 中的 CSV 或固定列数据存储。 有关详细说明,请参阅 Wiki。
通常,文件名会存储在一个VARCHAR2类型的列中,而图片数据则存储在BLOB列中。 5. **编写SQL或PL/SQL脚本**:创建一个查询,选择需要导出的图片对应的BLOB数据,并可能包含文件名。可以使用DBMS_LOB子程序处理BLOB...
name varchar2(255), description CLOB ); ``` 使用 DBMS_LOB 包实现 CLOB 字段的 Like 查找 DBMS_LOB 包提供了多种函数和过程来操作 LOB 数据类型。其中,INSTR 函数可以用来查找 CLOB 字段中的字符串。下面是...
二、VARCHAR2和CHAR类型 Oracle中的VARCHAR2类型可以对应DB2/400中的CHAR类型和VARCHAR类型。当n时,可以使用DB2/400中的CHAR类型或VARCHAR类型。当n>4000时,可以使用DB2/400中的VARCHARLONG类型或CLOB类型。 三...
as_SubDir in VarChar2, as_FileName in VarChar2 )Return Blob; --获取压缩流的文件清单 Function f_GetFileList( as_ZippedBlob in Blob, as_Encoding in VarChar2 Default Null )...
例如,在 DB2/400 中,我们可以使用定长的 CHAR(N)类型与 Oracle 的 VARCHAR2(n)相对应,这样可以提高效率和节省存储空间。 四、LOB 类型 DB2/400 提供 VARCHAR 和 CLOB 与 Oracle 中的 RAW 和 LONG RAW 相...
在实际开发中,需要注意的是,由于通过 JNDI 获得的数据库连接所提供的 `Blob` 和 `Clob` 实现可能与 JDBC 直接获取的不同,因此在入库时需要进行类型转换。而出库操作则无需特殊处理,因为它们都返回标准的 `java....
name VARCHAR2(10), resume CLOB, photo BLOB, record BFILE ) Lob (resume,photo) Store As (Tablespace ts5_21 Chunk 6k Disable Storage In Row); ``` 2. 插入Blob数据: 插入Blob数据时,首先需要插入...
与 CHAR 不同,VARCHAR2 在存储时会自动去除前导和尾随的空格,并且根据实际数据长度调整存储空间。它是 SQL 中最常用的数据类型,最大索引长度为 3209 字节。 3. NUMBER(m,n): 可变长度数值类型,允许正负值,m ...
特别是当VARCHAR2类型的长度小于等于32766时,建议使用DB2/400中的CHAR类型以提高效率并节省存储空间。 #### 五、大对象类型 - **Oracle BLOB/CLOB**: 用于存储大二进制对象或文本对象,最大容量可达4GB。 - **DB2...
与Char和Varchar2不同,Raw保存的是原始二进制数据,不做任何字符编码转换。 7. **Long Raw**: 类似于Long,但专用于存储大块的二进制数据,最大长度2GB,通常用于大型图形或文档。 8. **Blob, Clob, NClob**: ...
首先,尝试将CLOB字段直接转换为VARCHAR2类型进行查询,如以下语句所示: ```sql select * from table_name where utl_raw.cast_to_varchar2(column) like ‘%oracle%'; ``` 但这种做法会导致错误,因为CLOB字段可能...
Varchar2和Varchar用于存储可变长度的字符串,Varchar2在空间效率上有优势;Number用于数值型数据;Date处理日期和时间;Long和Long Raw已被弃用,应使用LOB类型替代;Blob、Clob和NClob用于存储大量文本或二进制...