Estos últimos días, todo el mundo esta con el calculo del IBAN

Si tenemos que utilizar datos de una base de datos SQL, nos sera útil la siguiente función de SQL, la función requiere la entrada del código de país y el numero de la cuenta.

create function [dbo].[CalculoIBAN] (@Pais varchar(2), @Cuenta varchar(50))
returns varchar (50)
as
begin

DECLARE @Letras As varchar(50)
DECLARE @IBAN As varchar(50)
DECLARE @Dividendo As int
DECLARE @Resto As int
DECLARE @Contador As int
declare @Resultado as varchar(50)
        
set @Cuenta = Replace(@Cuenta,' ', '') --limpia espacios
set @Cuenta = Replace(@Cuenta,'-', '') --limpia guiones
set @Pais = upper(@Pais)

-- Calcula el valor de las letras, las quita y añade el valor al final
set @Letras = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
set @IBAN = @Cuenta + cast((CHARINDEX( Left(@Pais, 1),@Letras) + 9) as varchar) 
+ cast((CHARINDEX( Right(@Pais, 1),@Letras) + 9) as varchar)  + '00'

 
SET @Contador = 1  
set @Resto=0
  
WHILE (@Contador <= Len(@IBAN))    
BEGIN      
 set @Dividendo = cast(@Resto as varchar) + substring(@IBAN, @Contador, 1) 
    set @Resto = @Dividendo % 97
    
 SET @Contador = @Contador + 1         
END 

set @Resultado = Right('00' + cast((98 - @Resto) as varchar),2)

return ( @Pais + @Resultado + @Cuenta)

end