【SQL】10g字符串处理函数regexp_substr的用法示例
来源:互联网 发布:关于大数据的论文 编辑:程序博客网 时间:2024/05/19 06:17
在我们生产系统里,有这么一个配置表,他记录的工单派单的接收人员的排班表。
程序会读取这个表,然后将工作任务单派发给当班的那些人员(工号),表配置基本如下:
SQL> select * from v1;
DT1 STR1
-------- ---------------------------------------
20151001 SCKF100,CDKF200,MSKF300,ZYKF400,GYKF500
20151002 SCKF101,CDKF201,MSKF301,ZYKF401,GYKF501
20151003 SCKF102,CDKF202,MSKF302,ZYKF402,GYKF502
20151004 SCKF103,CDKF203,MSKF303
20151005 SCKF104,CDKF204,MSKF304,ZYKF404,GYKF504
20151006 GYKF505
20151007 SCKF106,CDKF206,ZYKF406,GYKF506
20151008 SCKF107,CDKF207,MSKF307,ZYKF407,GYKF507
20151009 SCKF108,CDKF208,MSKF308,ZYKF408,GYKF508
20151010 SCKF109,CDKF209,MSKF309,ZYKF409,GYKF509
20151011 ZYKF410,GYKF510
20151012 SCKF111,CDKF211,MSKF311,ZYKF411,GYKF511
20151013 SCKF112,CDKF212,MSKF312,ZYKF412,GYKF512
20151014 GYKF513
20151015 SCKF114,CDKF214,MSKF314,ZYKF414,GYKF514
20151016 ZYKF415,GYKF515
20151017 SCKF116,CDKF216,MSKF316,ZYKF416,GYKF516
20151018 SCKF117,CDKF217,MSKF317,ZYKF417,GYKF517
20151019 MSKF318,ZYKF418,GYKF518
20151020 CDKF219,MSKF319,ZYKF419,GYKF519
20 rows selected
SQL>
DT1表示日期,STR1表示DT1所在当天配置的接收任务单的工号。
很明显,程序可以根据dt1,读取到str1,然后在应用中间件去分解这个串,得到各个工号。
但其实也可以在数据库内部进行这个分解,比如我们需要分解dt1=‘20151001’这天的工号列表:
SQL> select * from v1 where dt1='20151001';
DT1 STR1
-------- ---------------------------------------
20151001 SCKF100,CDKF200,MSKF300,ZYKF400,GYKF500
SQL>
SQL> SELECT regexp_substr(str1, '[^,]+', 1, level) as newstr1
2 FROM (SELECT str1 FROM v1 where dt1 = '20151001') t1
3 connect by level <= length(translate(str1, ',' || str1, ',')) + 1;
NEWSTR1
------------------------------------------------------------------------------
SCKF100
CDKF200
MSKF300
ZYKF400
GYKF500
SQL>
- 【SQL】10g字符串处理函数regexp_substr的用法示例
- 【SQL】10g字符串处理函数regexp_substr的用法示例2
- 【SQL】10g字符串处理函数regexp_count
- Oracle的REGEXP_SUBSTR函数简单用法
- REGEXP_SUBSTR函数用法
- Oracle的SUBSTR()和INSTR()以及REGEXP_SUBSTR()函数的用法
- 动态传入的逗号连接的字符串,分散成多条记录(Oracle 10g 使用REGEXP_SUBSTR 分拆字符串)
- Oracle正规则函数的用法,regexp_substr,REGEXP_LIKE,REGEXP_INSTR,REGEXP_REPLACE
- C#字符串split函数的用法,单个字符的处理示例
- oracle REGEXP_SUBSTR 函数的使用
- Oracle中REGEXP_SUBSTR函数(拆分字符串)
- oracle中regexp_substr函数截取子字符串
- 字符串处理函数用法。
- regexp_substr()函数
- String字符串处理的函数用法
- sql字符串处理函数
- SQL字符串处理函数
- sql字符串处理函数
- fork, vfork, clone, exec的区别
- hadoop2.6+ zookeeper3.4.6搭建
- spring系列之3--iBATIS的使用
- 21总结
- 类神经网络的角点检测方法
- 【SQL】10g字符串处理函数regexp_substr的用法示例
- cmd命令示例
- IK Analyzer demo
- C++关键字的详解 ---- mutable关键字
- eclipse相关问题一:无法import项目,显示 select at list one project
- c++在vs2010中操作Mysql的讲解
- 环信sdk的module,titanium也可以做IM即时聊天了
- Swap Nodes in Pairs
- 计算机的性能评价一