ο αλγόριθμός του cgeo για τον έλεγχο εγκυρότητας ΑΦΜ γραμμένος σε T-SQL. Τον αρχικό σε VB μπορείτε να τον βρείτε εδώ
-- returns 1 if valid, 0 if not valid
create function checkAFM(@vatId nchar(9)) returns bit
as
begin
declare @i int
declare @sum int
declare @residual int
declare @lastdigit int
declare @isValid bit
set @sum = 0
set @i = 0
while @i < 8
begin
set @sum = @sum + power(2,(8 - @i))* cast(substring(@vatId,@i+1,1) as int)
set @i = @i + 1
end
set @residual = @sum % 11
if @residual = 10
set @lastdigit = 0
else
set @lastdigit = @residual
if @lastdigit = cast(substring(@vatId,9,1) as int)
set @isValid = 1
else
set @isValid = 0
return @isValid
end