数据库传过去是这样的格式
101518-销售合同评审流程 [ HTP-20130114-001 ] |101470-销售合同评审流程 [ HTP-20130109-001 ]
我只取前面的ID
101518 这样的
客户有可能传三个这样的 有可能1个 有可能更多请问存储过程如何截取?存储数据库
101518-销售合同评审流程 [ HTP-20130114-001 ] |101470-销售合同评审流程 [ HTP-20130109-001 ]
我只取前面的ID
101518 这样的
客户有可能传三个这样的 有可能1个 有可能更多请问存储过程如何截取?存储数据库
你的问题描述不够,你要的最终结果是一张ID的明细表并ID不重复,还要动态管理这张ID表?
如果客户传过来的数据时插入到本数据库的某张表,这个功能可以用触发器来完成
我的想法对的话,跟帖即可!(需要代码的话,说明一下)
我的意思是 我写的存储过程 传过来101518-销售合同评审流程 [ HTP-20130114-001 ] 这样结构的数据(参数)
我怎么截取前面的ID,
比如:101518-销售合同评审流程 [ HTP-20130114-001 ] 这是一条 |101470-销售合同评审流程 [ HTP-20130109-001 ]这又是一条。是一起传过来的 懂了吗。
不要问我怎么不在服务端就判断好,如果能行 我也不来发帖了
SELECT REGEXP_SUBSTR('101518-销售合同评审流程 [ HTP-20130114-001 ]','[^-]+',1,1,'i') FROM dual;结果 101518
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr :需要进行正则处理的字符串
__pattern :进行匹配的正则表达式
__position :起始位置,从第几个字符开始正则表达式匹配(默认为1)
__occurrence :标识第几个匹配组,默认为1
__modifier :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
假如传入的参数为:
101518-销售合同评审流程 [ HTP-20130114-001 ]
|101471-销售合同评审流程 [ HTP-20130109-001 ]|101482-销售合同评审流程 [ HTP-20130109-001 ]
|101472-销售合同评审流程 [ HTP-20130109-001 ]|101481-销售合同评审流程 [ HTP-20130109-001 ]
|101473-销售合同评审流程 [ HTP-20130109-001 ]|101480-销售合同评审流程 [ HTP-20130109-001 ]
|101474-销售合同评审流程 [ HTP-20130109-001 ]|101479-销售合同评审流程 [ HTP-20130109-001 ]
|101475-销售合同评审流程 [ HTP-20130109-001 ]|101478-销售合同评审流程 [ HTP-20130109-001 ]
|101476-销售合同评审流程 [ HTP-20130109-001 ]|101477-销售合同评审流程 [ HTP-20130109-001 ]
相关sql如下:SELECT REGEXP_SUBSTR(REGEXP_SUBSTR('101518-销售合同评审流程 [ HTP-20130114-001 ]
|101471-销售合同评审流程 [ HTP-20130109-001 ]|101482-销售合同评审流程 [ HTP-20130109-001 ]
|101472-销售合同评审流程 [ HTP-20130109-001 ]|101481-销售合同评审流程 [ HTP-20130109-001 ]
|101473-销售合同评审流程 [ HTP-20130109-001 ]|101480-销售合同评审流程 [ HTP-20130109-001 ]
|101474-销售合同评审流程 [ HTP-20130109-001 ]|101479-销售合同评审流程 [ HTP-20130109-001 ]
|101475-销售合同评审流程 [ HTP-20130109-001 ]|101478-销售合同评审流程 [ HTP-20130109-001 ]
|101476-销售合同评审流程 [ HTP-20130109-001 ]|101477-销售合同评审流程 [ HTP-20130109-001 ]
','[^|]+',1,LEVEL,'i'),'[^-]+',1,1,'i') AS Num FROM dual CONNECT BY LEVEL<=13;
执行结果如下:
101518
101471
101482
101472
101481
101473
101480
101474
101479
101475
101478
101476
101477