oracle lob函数,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 lob函数,Oracle可以处理LOB字段的常用字符函数相关推荐
- Oracle可以处理LOB字段的常用字符函数
以前处理LOB字段都是使用DBMS_LOB包,最近看了文档才发现,原来很多常用的字符函数都是支持LOB字段的. 建立一个测试表: SQL> CREATE TABLE T_LOB (ID NUMB ...
- oracle常用的字符串函数,Oracle的常用字符函数实验展示
Oracle提供了众多实用的字符函数,在众多的字符函数中常用的并不多,精通常用的几个字符函数便可游刃有余. 通过这个小文儿简单演示一下常用字符函数的用法,供参考. 1.实验预备动作 1)创建实验表T ...
- Oracle 常用字符函数
Oracle 常用字符函数 1 LOWER(char):字符串全部转化为小写格式 2 UPPER(char):字符串全部转化为大写格式 3 INITCAP('char'):每个单词首字母大写,其余小写 ...
- db2 replace函数的用法_SQL基础知识:常用字符处理函数
原标题:SQL基础知识:常用字符处理函数 作者:丶平凡世界
- linux系统时间函数,Linux时间时区详解与常用时间函数
时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计算的. ...
- 写出python字符串三种常用的函数或方法_python中几种常用字符串函数
1.lower()把所有字符换成小写 2.upper()把所有字符换成大写 3.swapcase()大小写互换 4.title()把每个单词首字母大写,他是以所有英文字母的字符来区别是否为一个单词的, ...
- mysql字符类型总结及常用字符函数
常用字符串函数: concat(s1,s2,s3..) 连接s1,s2,...sn为一个字符串 INSERT(str,x,y,instr)将字符串str从x位置开始,y个字符串替换为字符串 ...
- python有哪些函数怎么用_必须掌握的常用python函数有哪些?
必须掌握的常用python函数有哪些? 更新时间:2020年11月02日 作者:spoto 必须掌握的常用Python的安装设置过程中需要注意的事项,今天我们就另一个学员们经常询问的问题进行解答. ...
- mysql 函数返回查询结果_MySQL数据库中常用查询函数简介
MYSQL中的常用函数 count(*)--- 相当于统计表的行数,在统计结果的时候,不会忽略列值为NULL的记录. select count(*) from yinxiong; Count(列名) ...
- 运算除法的计算机函数,2、Python基础--除法、常用数学函数(示例代码)
整数与整数相除: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 & ...
最新文章
- 多校 Babelfish
- 基于thrift的微服务框架
- vm安装u盘linux,vmware 安装centos 插入u盘报错,大神请指导
- Hibernate关于父类子类的映射
- apicloud手机查看效果
- 乘势而起,走进2019年风口“边缘计算”
- C++socket编程(二):系统socket库介绍
- ubuntu16.04下安装openssh-server报依赖错误的解决方法
- JavaWeb——response与request
- 【OpenCV笔记】光流法之金字塔Lucas-Kanade
- Liunx配置tomcat
- iphone 4 微信版本过低
- 解决MySQL远程过程调用失败
- 使用酷狗音乐api实现歌曲的搜索和下载
- 联想Y7000找不到蓝牙,误删了设备管理器的蓝牙解决方法
- 使用everything批量修改文件名
- PHP自学笔记 ---李炎恢老师PHP第一季 TestGuest1.1 密码处理+1.2可选验证
- 银笺生花,伴你浪迹天涯
- 路由与交换系列之简单的路由策略与默认路由汇总路由的运用
- My Twenty-Eighth Page - 滑动窗口最大值 - By Nicolas
热门文章
- RK平台RAM和ROM容量计算
- 如何推广自己的新网站
- 【两台电脑之间实现鼠标键盘共享】
- 第五届A/B组 地宫取宝 JAVA
- MySql基础篇之SQL语句(DDL、DML、DQL、RCL)
- iPhone 如何设置自定义铃声 (更新至iOS13 and macOS Catalina)
- 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作...
- 【设计模式】:单例设计模式深究
- ibd 导入mysql_mysql导入frm和ibd文件还原数据
- Visual SourceSafe 2005 简体中文语言包