有一个字符串,我想去掉前几位和后几位,去中间剩下的字符,怎么能实现呢。例如<P><IFRAME style="WIDTH: 684px; HEIGHT: 735px" src=P_FLOWPUB.aspx?param='+'1'+'" frameBorder=0 scrolling=noshade></IFRAME></P>我想取param=的数字。因为这个数字的位数不确定,所以我想能不能是取去前几位和去后几位剩下的。因为前几位和后几位的长度固定。

解决方案 »

  1.   

    用PATINDEX,CHARINDEX,SUBSTRING程序中用正则更方便
      

  2.   


    不明白你说的什么意思,能详细说一下吗,另外这个字段是text类型。
      

  3.   

    谁能给写一下呢  就以我例子那个写下,取出param后的1
      

  4.   

    DECLARE @STR VARCHAR(500)
    SET @STR='<P> <IFRAME style="WIDTH: 684px; HEIGHT: 735px" src=P_FLOWPUB.aspx?param=''+''1''+''" frameBorder=0 scrolling=noshade> </IFRAME> </P>' 
    SELECT SUBSTRING(@STR,PATINDEX('%+%',@STR)+1,CHARINDEX('+',@STR,PATINDEX('%+%',@STR)+1)-(PATINDEX('%+%',@STR)+1))
                                                                                                                                                                                                                                                                     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    '1'(所影响的行数为 1 行)
      

  5.   


    string str = "+uiofioej+"; 
    str = str.Substring(1, str.Length - 2);