括号的数目有没有最大限制??如果少的话,就直接写SQL,如果多的话,写函数比较方便。

解决方案 »

  1.   


    --建立测试环境
    Create table TEST
    (id1 Varchar(10),
     id2 Varchar(50))
    GO
    --插入数据
    Insert TEST Values('a',   'bb (d) ee dd (w)')
    Insert TEST Values('b',   'dd ss (m)')
    GO
    --创建函数
    Create Function ReplaceString(@String Varchar(1000))
    Returns Varchar(1000)
    AS
    Begin
    Declare @I Int
    Select @I=CharIndex('(',@String)
    While @I>0
    Begin
    Set @String=Stuff(@String,@I,CharIndex(')',@String)-@I+1,'')
    Select @I=CharIndex('(',@String)
    End
    Return(@String)
    End
    GO
    --测试
    Select id1,dbo.ReplaceString(id2) As id2 from TEST
    GO
    --删除测试环境
    Drop table TEST
    Drop Function ReplaceString
    GO
    --结果
    /*
    id1 id2
    a bb  ee dd 
    b dd ss 
    */
      

  2.   

    bb (d) ee dd (w) ( (11)这种情况,你需要显示成什么样子??
      

  3.   

    回复人: jjqscut(kam) ( ) 信誉:100  2005-04-28 00:11:00  得分: 0  
     
     
       我要实现的是尽管括号是否成对出现,都要把括号里面的内容删除
      
     
    -----------------------------------
    那这样的例子bb (d) ee dd (w) ( (11),哪些内容算是括号里的内容呢??