geshan

Bank Account Modulo 11 check

Mar 19th, 2011
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.89 KB | None | 0 0
  1. CREATE FUNCTION checkModulo11 (@BANKACNO BIGINT)
  2. RETURNS VARCHAR(25)
  3. AS
  4. BEGIN
  5.     --DECLARE @BANKACNO BIGINT
  6.     DECLARE @CTR INT
  7.     DECLARE @EXTRACT INT
  8.     DECLARE @TOTAL INT
  9.     DECLARE @MSG VARCHAR(25)
  10.    
  11.     SELECT @MSG = 'INVALID BANK A/C NUMBER'
  12.     --SET @BANKACNO = 972428577 -- VALID
  13.     --SET @BANKACNO = 972428575 -- INVALID
  14.     SET @CTR = 0
  15.     SET @TOTAL = 0
  16.     WHILE @BANKACNO > 1
  17.         BEGIN
  18.         SET @CTR = @CTR+1
  19.         SET @EXTRACT = @BANKACNO%10
  20.         SET @BANKACNO = @BANKACNO/10
  21.             --@TOTAL = @TOTAL + (@CTR * @EXTRACT)
  22.             SELECT @TOTAL = @TOTAL + @CTR*@EXTRACT
  23.         END
  24.     IF (SELECT @TOTAL % 11) = 0
  25.         BEGIN
  26.             SELECT @MSG = 'VALID BANK A/C NUMBER' --AS ACCONT_NO_VALIDITY --MAY EVEN BE SELECT TRUE
  27.         END
  28.  
  29.     --CHECKED MINE AND ITS VALID :)
  30.     RETURN @MSG
  31. END
  32. GO
  33.  
  34. SELECT dbo.checkModulo11(972428567) AS BANK_AC_NO_VALIDITY --CAN BE WITH INT 1 OR O AND CASE TO SHOW VALIDITY
  35.  
  36. DROP FUNCTION checkModulo11
Add Comment
Please, Sign In to add comment