社区
Oracle
帖子详情
怎么在 oracle 存储过程中 使用正则表达式!!!
dj9960
2004-10-13 03:32:20
打个比方我想把2:1中的2和1分别取出,怎么在 oracle 存储过程中 使用正则表达式把它取出!!!
...全文
446
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
打赏
举报
回复
拆分字符串吗?
说的详细一点
ibatis例子加教程&java&javascript&dhtml&
正则表达式
工具
标题
中
的“ibatis例子加教程&java&javascript&dhtml&
正则表达式
工具”涵盖了五个主要的IT技术领域:iBATIS、Java、JavaScript、DHTML和
正则表达式
。接下来,我们将深入探讨这些技术及其相关的知识点。 1. iBATIS: ...
数据库
中
使用
正则表达式
小结
数据库
中
使用
正则表达式
是一种...在
使用
过程
中
,除了上述的知识点外,还应熟悉相关数据库系统的
正则表达式
方言,因为不同的数据库系统(如MySQL、PostgreSQL、
Oracle
等)对
正则表达式
的支持和实现细节可能有所差异。
帮助文档集合(SQL.chm,XML 指南.chm,
正则表达式
系统教程.CHM)
在编程和数据分析
中
,
正则表达式
是一个强大的工具,可以用于验证输入、提取数据、查找和替换文本等任务。
正则表达式
由特殊字符和普通字符组成,如点号(.)代表任意单个字符,星号(*)表示前面的字符可以重复零次或...
oracle
约束和索引笔记
Oracle
数据库是世界上最广泛
使用
的数据库管理系统之一,其在数据管理和性能优化方面有着强大的功能。本笔记主要探讨了两个关键概念:约束和索引,这些都是
Oracle
数据库
中
的基础但至关重要的元素。 **1. 约束...
orcl_reg.zip_
oracle
10G
在
Oracle
10g
中
,你可以
使用
正则表达式
来进行复杂的数据筛选和转换,例如在SQL查询
中
使用
`REGEXP_LIKE`函数进行匹配,或在PL/SQL
中
使用
正则表达式
函数如`REGEXP_SUBSTR`和`REGEXP_REPLACE`。 在O'Reilly的《
Oracle
...
Oracle
17,136
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章