社区
Oracle
帖子详情
怎么在 oracle 存储过程中 使用正则表达式!!!
dj9960
2004-10-13 03:32:20
打个比方我想把2:1中的2和1分别取出,怎么在 oracle 存储过程中 使用正则表达式把它取出!!!
...全文
420
11
打赏
收藏
怎么在 oracle 存储过程中 使用正则表达式!!!
打个比方我想把2:1中的2和1分别取出,怎么在 oracle 存储过程中 使用正则表达式把它取出!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dj9960
2004-10-13
打赏
举报
回复
解决了,谢谢大家!!!
bzszp
2004-10-13
打赏
举报
回复
长度不是问题
15:53:00 SQL> declare
15:55:16 2 v_str varchar2(50):='1:341:3534:sefef:jtyj';
15:55:32 3 v_num number;
15:55:35 4 v_temp varchar2(10);
15:55:35 5 begin
15:55:35 6 for i in 1..length(v_str)-length(replace(translate(v_str,':',' '),' ','')) loop
15:55:35 7 v_temp:=substr(v_str,1,instr(v_str,':')-1);
15:55:35 8 v_str:=substr(v_str,instr(v_str,':')+1);
15:55:35 9 dbms_output.put_line(v_temp);
15:55:35 10 end loop;
15:55:35 11 dbms_output.put_line(v_str);
15:55:35 12 end;
15:55:35 13 /
1
341
3534
sefef
jtyj
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.31
15:55:35 SQL>
不知道你的用途
flamingo100
2004-10-13
打赏
举报
回复
先用instr找到:的位置,然后再利用substr()和length()截取
bzszp
2004-10-13
打赏
举报
回复
15:52:55 SQL> declare
15:52:58 2 v_str varchar2(50):='1:2:3:4:5';
15:52:58 3 v_num number;
15:52:58 4 v_temp varchar2(10);
15:52:58 5 begin
15:52:58 6 for i in 1..length(v_str)-length(replace(translate(v_str,':',' '),' ','')) loop
15:52:58 7 v_temp:=substr(v_str,1,instr(v_str,':')-1);
15:52:58 8 v_str:=substr(v_str,instr(v_str,':')+1);
15:52:58 9 dbms_output.put_line(v_temp);
15:52:58 10 end loop;
15:52:58 11 dbms_output.put_line(v_str);
15:52:59 12 end;
15:53:00 13 /
1
2
3
4
5
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.47
15:53:00 SQL>
zmgowin
2004-10-13
打赏
举报
回复
正则表达式的写法不会
zmgowin
2004-10-13
打赏
举报
回复
15:54:48 SQL> select * from t1;
A
----------
10:5
10:50
1:50
1:5
已用时间: 00: 00: 00.15
15:54:52 SQL> select substr(a,1,instr(a,':')-1) a,substr(a,instr(a,':')+1,length
(a)) b from t1;
A B
---------- ----------
10 5
10 50
1 50
1 5
已用时间: 00: 00: 00.15
dj9960
2004-10-13
打赏
举报
回复
呵呵,不行,:前后的数值长度不一样如果是10:1怎么办!!!,那个字段里有几万条类似于这样的数据!!!
bzszp
2004-10-13
打赏
举报
回复
15:45:11 SQL> select substr('2:1:3',instr('2:1:3',':',2)+1,
15:45:14 2 instr('2:1:3',':',3)-instr('2:1:3',':',2)-1) from dual;
S
-
1
已用时间: 00: 00: 00.15
15:45:19 SQL> select substr('2:1:3',1,instr('2:1:3',':')-1) from dual;
S
-
2
已用时间: 00: 00: 00.15
15:45:36 SQL> select substr('2:1:3',instr('2:1:3',':',2)+1,
15:45:38 2 instr('2:1:3',':',3)-instr('2:1:3',':',2)-1) from dual;
S
-
1
已用时间: 00: 00: 00.16
15:45:56 SQL> select substr('2:1:3',instr('2:1:3',':',3)+1) from dual;
S
-
3
已用时间: 00: 00: 00.16
15:46:02 SQL>
sywen
2004-10-13
打赏
举报
回复
用substr()函数不就行了吗
dj9960
2004-10-13
打赏
举报
回复
是的,把2:1 拆分成2和1
bzszp
2004-10-13
打赏
举报
回复
拆分字符串吗?
说的详细一点
对字符进行截取
oracle
中
的substr是针对字节进行截取,当处理对
中
文汉字时,非常不方便,通过对其封装,可以实现对字符进行截取。
21天学会
oracle
21天学会
oracle
(电子教案) 第1章
Oracle
安装配置.ppt 第2章
Oracle
常用工具.ppt 第3章 SQL Plus和PL.ppt 第4章 Oralce数据库.ppt 第5章
Oracle
数据表对象.ppt 第6章 约束.ppt 第7章 视图.ppt 第8章 函数与
存储过程
.ppt 第9章 游标.ppt 第10章 触发器.ppt 第11章 序列.ppt 第12章 用户角色与权限控制.ppt 第13章
Oracle
数据类型.ppt 第14章
Oracle
中
的函数与表达式.ppt 第15章
Oracle
中
的控制语句.ppt 第16章 SQL查询.ppt 第17章 SQL更新数据.ppt 第18章 数据库速度优化与数据完整性.ppt 第19章 数据一致性与事务管理.ppt 第20章 并发控制.ppt 第21章
Oracle
中
的
正则表达式
.ppt 第22章
Oracle
在Java开发
中
的.ppt 第23章
Oracle
在C.ppt
MySQL 查询与高级查询(多表、嵌套和
正则表达式
)
MySQL提供了功能强大、灵活的语句来实现这些操作,本章将介绍如何
使用
SELECT 语句查询数据表
中
的一列或多列数据、
使用
集合函数显示查询结果、连接查询、子查询以及
使用
正则表达式
进行查询等。 -------------------...
oracle
database 10g 完整参考手册part1
第Ⅰ部分 核心数据库概念 第1章
Oracle
Database 10g体系结构 第2章 安装
Oracle
Database 10g和创建数据库 第3章 升级到
Oracle
Database 10g 第4章 规划
Oracle
应用程序——方法、风险和标准 第Ⅱ部分 SQL和SQL*Plus 第5章 SQL
中
的基本语法 第6章 基本的SQL*Plus报表及命令 第7章 文本信息的收集与修改 第8章
正则表达式
搜索 第9章 数值处理 第10章 日期:过去、现在及日期的差 第11章 转换函数与变换函数 第12章 分组函数 第13章 当一个查询依赖于另一个查询时 第14章 一些复杂的技术 第15章 更改数据:插入﹑更新﹑合并和删除 第16章 DECODE和CASE SQL
中
的if-then-else 第17章 创建和管理表、视图、索引、群集和序列 第18章
Oracle
基本安全 第Ⅲ部分 高级内容 第19章 高级安全性—— 虚拟专用数据库 第20章
使用
表空间 第21章 用SQL*Loader加载数据 第22章
使用
Data Pump导入和导出 第23章 访问远程数据 第24章
使用
物化视图 第25章
使用
Oracle
Text进行文本搜索 第26章
使用
外部表 第27章
使用
回闪查询 第28章 回闪:表和数据库 第Ⅳ部分 Pl/SQL 第29章 PL/SQL简介 第30章 触发器 第31章 过程、函数与程序包 第32章
使用
本地动态SQL和DBMS_SQL 第Ⅴ部分 对象关系数据库 第33章 实现类型、对象视图和方法 第34章 收集器(嵌套表和可变数组) 第35章
使用
大对象 第36章 面向对象的高级概念 第Ⅶ部分
Oracle
中
的Java 第37章 Java简介 第38章 JDBC程序设计 第39章 Java
存储过程
第40章
Oracle
真正应用群集 第41章 网格体系结构和管理 第Ⅷ部分 指南 第42章
Oracle
数据字典指南 第43章 调整应用程序和SQL旅行者指南 第44章 调整
中
的案例分析 第45章
Oracle
Application Server 10g的旅行者指南 第46章 数据库管理旅行者指南 第47章 XML旅行者指南
oracle
database 11g 完整参考手册
中
文高清完整版part3
第ⅰ部分 关键的数据库概念 第1章
oracle
database 11g 体系结构 第2章 安装
oracle
database 11g 和创建数据库 第3章 升级到
oracle
database 11g 第4章 规划
oracle
应用程序——方法、风险和标准 第ⅱ部分 sql 和sql*plus 第5章 sql
中
的基本语法 第6章 基本的sql*plus 报表和命令 第7章 文本信息的收集与更改 第8章
正则表达式
搜索 第9章 数值处理 第10章 日期:过去、现在及日期的差 第11章 转换函数与变换函数 第12章 分组函数 第13章 当一个查询依赖于另一个查询时 第14章 一些复杂的技术 第15章 更改数据:插入﹑更新﹑合并和删除 第16章 decode 和case:sql
中
的if-then-else 第17章 创建和管理表、视图、索引、群集和序列 第18章 分区 . 第19章
oracle
基本安全 第ⅲ部分 高 级 主 题 第20章 高级安全性——虚拟专用数据库 第21章 高级安全性:透明数据加密 第22章
使用
表空间 第23章 用sql*loader 加载数据 第24章
使用
data pump export 和data pump import 第25章 访问远程数据 第26章
使用
物化视图 第27章
使用
oracle
text 进行文本搜索 第28章
使用
外部表 第29章
使用
闪回查询 第30章 闪回:表和数据库 第31章 sql 重放 第ⅳ部分 pl/sql 第32章 pl/sql 简介 第33章 应用程序在线升级 第34章 触发器 第35章 过程、函数与程序包 第36章
使用
本地动态sql 和dbms_sql 第37章 pl/sql 调整 第ⅴ部分 对象关系数据库 第38章 实现对象类型、对象视图和方法 第39章 收集器(嵌套表和可变数组) 第40章
使用
大对象 第41章 面向对象的高级概念 第ⅵ部分
oracle
中
的java 第42章 java 简介 第43章 jdbc 程序设计 第44章 java
存储过程
第ⅶ部分 指 南 第45章
oracle
数据字典指南 第46章 应用程序和sql 调整指南 第47章 sql 结果缓存和客户端查询缓存 第48章 关于调整的示例分析 第49章 高级体系结构选项—— db保险库、内容db 和记录db 第50章
oracle
实时应用群集 第51章 数据库管理指南 第52章
oracle
中
的xml 指南 第ⅷ部分 附 录 附录a 命令和术语参考
Oracle
17,078
社区成员
55,234
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章