SET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS OFF GOCREATE FUNCTION F_NODE_21(@val varchar(4000))RETURNS @ctb TABLE([name] varchar(50),[value] varchar(50))ASBEGIN       declare  @tmpVal  varchar(2000)       declare  @name  varchar(50)       declare  @value  varchar(50)        while  charindex(';',@val)>0       begin                    set @val = substring(@val,CHARINDEX(';', @val)+1,2000)--去掉已经计算过的节点              set @tmpVal = substring(@val,0,CHARINDEX(';', @val)) --得到单个节点的数量 A1=X              set @name=substring(@tmpVal,0,CHARINDEX('=', @tmpVal))              set @value=substring(@tmpVal,CHARINDEX('=', @tmpVal)+1,10)              if len(@name)>0   and  len(@value)>0                 begin                     insert   @ctb                       SELECT   @name as name,@value as value               end      end          RETURNENDGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO