Oracle可以处理LOB字段的常用字符函数
以前处理LOB字段都是使用DBMS_LOB包,最近看了文档才发现,原来很多常用的字符函数都是支持LOB字段的。
建立一个测试表:
SQL> CREATE TABLE T_LOB (ID NUMBER, CONTENTS CLOB);
Table created.
SQL> DECLARE
2 V_LOB CLOB;
3 BEGIN
4 INSERT INTO T_LOB
5 VALUES (1, EMPTY_CLOB())
6 RETURN CONTENTS INTO V_LOB;
7 FOR I IN 1..100 LOOP
8 DBMS_LOB.WRITEAPPEND(V_LOB, 32767, LPAD('A', 32767, 'A'));
9 END LOOP;
10 END;
11 /
PL/SQL procedure successfully completed.
SQL> SELECT ID, DBMS_LOB.GETLENGTH(CONTENTS) FROM T_LOB;
ID DBMS_LOB.GETLENGTH(CONTENTS)
---------- ----------------------------
1 3276700
SQL> SELECT ID, LENGTH(CONTENTS) FROM T_LOB;
ID LENGTH(CONTENTS)
---------- ----------------
1 3276700
这里的LENGTH函数显然不是对CLOB进行了隐式的TO_CHAR转换,因为那样的话,要不然因为CLOB长度太大而报错,要不然CLOB自动截取前4000个字符而LENGTH返回的长度则是4000。这里的LENGTH函数明显接收的是CLOB类型的参数。
除了LENGTH外,常用的INSTR、SUBSTR等都是支持LOB字段的:
SQL> DECLARE
2 V_LOB CLOB;
3 BEGIN
4 SELECT CONTENTS
5 INTO V_LOB
6 FROM T_LOB
7 WHERE ID = 1
8 FOR UPDATE;
9 DBMS_LOB.WRITEAPPEND(V_LOB, 1000, RPAD('BCDEFG', 1000, 'A'));
10 COMMIT;
11 END;
12 /
PL/SQL procedure successfully completed.
SQL> SELECT DBMS_LOB.INSTR(CONTENTS, 'B')
2 FROM T_LOB
3 WHERE ID = 1;
DBMS_LOB.INSTR(CONTENTS,'B')
----------------------------
3276701
SQL> SELECT INSTR(CONTENTS, 'B')
2 FROM T_LOB
3 WHERE ID = 1;
INSTR(CONTENTS,'B')
-------------------
3276701
SQL> SELECT DBMS_LOB.SUBSTR(CONTENTS, 10, 3276701)
2 FROM T_LOB
3 WHERE ID = 1;
DBMS_LOB.SUBSTR(CONTENTS,10,3276701)
-------------------------------------------------------------------------------------------
BCDEFGAAAA
SQL> SELECT SUBSTR(CONTENTS, 3276701, 10)
2 FROM T_LOB
3 WHERE ID = 1;
SUBSTR(CONTENTS,3276701,10)
--------------------------------------------------------------------------------
BCDEFGAAAA
另外,LPAD、RPAD以及LTRIM和RTRIM也是支持CLOB类型的:
SQL> SELECT LTRIM(RTRIM(CONTENTS, 'A'), 'A')
2 FROM T_LOB
3 WHERE ID = 1;
LTRIM(RTRIM(CONTENTS,'A'),'A')
--------------------------------------------------------------------------------
BCDEFG
SQL> SELECT LENGTH(LPAD(CONTENTS, 10000000, 'B'))
2 FROM T_LOB
3 WHERE ID = 1;
LENGTH(LPAD(CONTENTS,10000000,'B'))
-----------------------------------
10000000
字符连接操作||也支持LOB类型:
SQL> SELECT LENGTH(CONTENTS || CONTENTS)
2 FROM T_LOB
3 WHERE ID = 1;
LENGTH(CONTENTS||CONTENTS)
--------------------------
6555400
如果想找更加详细的支持LOB的函数说明可以参考LOB相关的文档。
oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
转载于:https://blog.51cto.com/19880614/1219441
Oracle可以处理LOB字段的常用字符函数相关推荐
- oracle常用的字符串函数,Oracle的常用字符函数实验展示
Oracle提供了众多实用的字符函数,在众多的字符函数中常用的并不多,精通常用的几个字符函数便可游刃有余. 通过这个小文儿简单演示一下常用字符函数的用法,供参考. 1.实验预备动作 1)创建实验表T ...
- Oracle 常用字符函数
Oracle 常用字符函数 1 LOWER(char):字符串全部转化为小写格式 2 UPPER(char):字符串全部转化为大写格式 3 INITCAP('char'):每个单词首字母大写,其余小写 ...
- mysql字符类型总结及常用字符函数
常用字符串函数: concat(s1,s2,s3..) 连接s1,s2,...sn为一个字符串 INSERT(str,x,y,instr)将字符串str从x位置开始,y个字符串替换为字符串 ...
- oracle plsql 字符串长度,plsql中常用字符串函数
1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space f ...
- 【Oracle 数据库】奶妈式教程 day12 字符函数
1.upper(STR) 转大写 2.lower(STR) 转小写 3.initcap(str) 转首字母大写 多个单词都会变成首字母大写.英文字母中间有非英文的字母就认为是两个单词 SELECT U ...
- Oracle 语言分类 数据类型 数据类型转换 常用函数 集合操作 子查询
SQL分类 SQL(Structure Query Language)语言是数据库的核心语言.SQL语言共分为四大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL.1 ...
- oracle中LOB字段相关概念(自动创建LOB索引段和重建索引方法)
OBs,或Large Objects字段,是Oracle中用于处理存储非字符数据推荐的一种字段类型,例如mp3,video,图片,和long字符串数据.二进制大对象,或BLOBs,字符大对象,或CLO ...
- oracle lob 字段清理,Oracle数据库高水位释放——LOB字段空间释放
在Oracle数据库中表随着数据增长,所占磁盘容量也会增长,当表中数据不再需要时,对表进行delete操作,表中代表所占空间的标志-高水位,不会随着数据删除而下降,高水位没有变化,即使删除了数据库,表 ...
- 我踩过的坑(二)替换Oracle字段中的字符
项目演示时要求把数据中真实地名.人名全部替换掉 1.替换表中字段的指定字符 update table_name set table_name.column_name = replace(table_ ...
最新文章
- 让我们来谈谈对Linux的认识,值得每一位运维人员深读
- linux配置ip 网关 和dns(转)
- 日记 [2007年01月24日]服务器加强安全
- MySQL中的条件赋值
- 解决JSP页面获取的数据库数据乱码问题
- Idea maven项目不能新建package和class的解决
- python识别简单训练模型_使用已经得到的keras模型识别自己手写的数字方式
- Sprint3(12.18)总结
- 北师大版图形的旋转二教案_北师大版三年级数学下册微课精讲+课件教案试卷(文末下载)...
- bigemap 百度教程
- 【数值计算方法】学习笔记
- ios免越狱自签工具
- 2022-2027年中国缝制机械行业市场全景评估及发展战略规划报告
- uniapp 引用图片地址
- python2在线编译器_C/C++/Python在线编译器
- 选择合适的 Go 字符串拼接方式
- ExoPlayer播放器剖析(六)ExoPlayer同步机制分析
- 独孤思维:赚钱的黄金法则
- 三星I9220刷机包 新蜂ROM V4.1 高级设置 全透明天气插件
- 计算机实验报告网络应用,《计算机网络应用》实验报告(2016春).doc