数据库传过去是这样的格式
101518-销售合同评审流程 [ HTP-20130114-001 ] |101470-销售合同评审流程 [ HTP-20130109-001 ]
我只取前面的ID
101518 这样的
客户有可能传三个这样的 有可能1个 有可能更多请问存储过程如何截取?存储数据库

解决方案 »

  1.   

    select distinct substr(目标字段,1,6) from 目标表
    你的问题描述不够,你要的最终结果是一张ID的明细表并ID不重复,还要动态管理这张ID表?
    如果客户传过来的数据时插入到本数据库的某张表,这个功能可以用触发器来完成
    我的想法对的话,跟帖即可!(需要代码的话,说明一下)
      

  2.   

    不是表与表的关系。
    我的意思是 我写的存储过程 传过来101518-销售合同评审流程 [ HTP-20130114-001 ] 这样结构的数据(参数)
    我怎么截取前面的ID,
    比如:101518-销售合同评审流程 [ HTP-20130114-001 ] 这是一条 |101470-销售合同评审流程 [ HTP-20130109-001 ]这又是一条。是一起传过来的 懂了吗。
    不要问我怎么不在服务端就判断好,如果能行 我也不来发帖了
      

  3.   


    SELECT REGEXP_SUBSTR('101518-销售合同评审流程 [ HTP-20130114-001 ]','[^-]+',1,1,'i') FROM dual;结果 101518
      

  4.   

    REGEXP_SUBSTR函数格式如下:
    function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
    __srcstr     :需要进行正则处理的字符串
    __pattern    :进行匹配的正则表达式
    __position   :起始位置,从第几个字符开始正则表达式匹配(默认为1)
    __occurrence :标识第几个匹配组,默认为1
    __modifier   :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
      

  5.   

    我是oracle数据库,请问多条也能也将截取吗?关键是不限定就是我不知道它有多少条数据。10条都有 可能
      

  6.   


    假如传入的参数为:
    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