IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[FunCheckUserIsLimitedPrice]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[FunCheckUserIsLimitedPrice] Go set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO create FUNCTION [dbo].[FunCheckUserIsLimitedPrice]() RETURNS bit AS begin declare @Ids varchar(1000) SELECT @Ids=KeyValue FROM DataBaseSettingTBL WHERE (KeyName = N'program.uidswithrestrictedprice') set @Ids=isnull(@Ids,'') declare @S char(1),@S1 varchar(10) declare @i int,@UID varchar(10) Set @UID=Cast(dbo.FunUserId() as varchar(10)) set @S1='' set @S='' set @i=1 While 1>0 Begin while @S<>';' Begin if @i>Len(@Ids) return 0 Set @S=Substring(@Ids,@i,@i+1) Set @i=@i+1 End Set @S1=Substring(@Ids,1,@i-2) if @UID=@S1 return 1 Set @Ids=Substring(@Ids,Len(@S1)+2,Len(@Ids)-Len(@S1)) set @S1='' set @S='' set @i=1 End Return 0 end