create function dbo.valid_tz (@tz_str varchar(20)) returns int as begin declare @pos int = 1 declare @tested_char char declare @char_score int declare @total_score int = 0 declare @result int while @pos <= len(@tz_str) begin set @tested_char = SUBSTRING(@tz_str, len(@tz_str)-@pos+1, 1) if @pos%2 = 0 begin set @char_score = cast(@tested_char as int)*2 if @char_score>9 set @char_score = 1+@char_score%10 end else set @char_score = cast(@tested_char as int) set @total_score = @total_score + @char_score set @pos = @pos + 1 end if @total_score%10 = 0 set @result = 1 else set @result = 0 return @result end