--建立测试环境 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 */
--建立测试环境
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
*/
我要实现的是尽管括号是否成对出现,都要把括号里面的内容删除
-----------------------------------
那这样的例子bb (d) ee dd (w) ( (11),哪些内容算是括号里的内容呢??