am gasit o functie care face lucrul asta...verifica IBAN....si e prea frumoasa ca sa nu v-o arat si voua....(nici nu se compara cu Struto-Camila pe care o facusem eu :) )
create FUNCTION CumVretiVoiSaSeNumeasca
(@IBAN varchar(50))
RETURNS int
AS
BEGIN
if len(@IBAN)!=24
return 0
if substring(@IBAN,1,2)!='RO'
declare @NR varchar(100)
select @NR=substring(@IBAN,5,20)+substring(@IBAN,1,4)
declare @i bigint
declare @char varchar(1)
set @i=1
while @i<len(@NR)
begin
select @char=substring(@NR,@i,1)
if @char in ('0','1','2','3','4','5','6','7','8','9')
begin
set @i=@i+1
continue
end
set @NR=replace(@NR,@char,convert(varchar,ascii(@char)-55))
set @i=@i+1
end
declare @aux varchar(50)
declare @aux1 varchar(2)
select @aux=substring(@NR,1,2)
if convert(bigint,@aux)<97
set @aux=substring(@NR,1,3)
if convert(bigint,@aux)<97
set @aux=substring(@NR,1,4)
while convert(bigint,@aux)>=97
begin
set @aux1=convert(varchar,convert(bigint,@aux)%97)
select @NR=@aux1+substring(@NR,len(@aux)+1,100)
select @aux=substring(@NR,1,2)
if @aux not in ('98','99') and len(@NR)<=2
return convert(int,@NR)%97
while convert(bigint,@aux)<97
set @aux=substring(@NR,1,len(@aux)+1)
end
return convert(int,@NR)
END
alex.