>declare @i int >declare @length int >declare @key varchar(20) >declare @searchkey varchar(20) >declare @oldsearchkey varchar(20) >declare @lastmatch bit > >set @i = 1 >set @length = LEN(@key) >set @lastmatch = 0 >set @key = '8171' > >while @i <= @length AND @lastmatch = 0 >begin > set @searchkey = LEFT(@key,@i) + '%' > if exists(select * from dbo.[Area] where @searchkey LIKE [AreaCode]) > set @oldsearchkey = @searchkey > else > begin > @lastmatch = 1 > end > set @i = @i + 1 >end >if @lastmatch = 1 > select TOP 1 * from dbo.[Area] where @oldsearchkey LIKE [AreaCode] > order by LEN([AreaCode]) >else >begin > select TOP 1 * from dbo.[Area] where @searchkey LIKE [AreaCode] > order by LEN([AreaCode]) >endWinan,