CREATE FUNCTION "f_digito_verificador_fv"( IN p_cedula varchar (7) )
RETURNS VARCHAR(1)
BEGIN /*FUNCION QUE HALLA EL DIGITO VERIFICADOR A PARTIR DEL NUMERO DE CEDULA - BY .:fativilla:. 2019.05.30*/
/*SET - PARAGUAY*/
DECLARE i numeric (1);
DECLARE mult numeric (1);
DECLARE valor varchar(1);
DECLARE valor_num NUMERIC (4);
DECLARE v_Digit NUMERIC (4);
DECLARE DV varchar(1);
SET i = 1 ;
SET mult=LENGTH(p_cedula)+1;
SET valor_num=0;
WHILE i <= 8 LOOP
SET valor = substring(p_cedula, i, 1);
SET valor_num= valor_num + ( cast ( valor as numeric) * mult ) ;
SET mult=mult-1;
SET i=i+1;
END LOOP ;
IF MOD (valor_num, 11)>1 THEN
SET v_digit = 11 - MOD (valor_num, 11);
ELSE
SET v_Digit = 0;
END IF;
SET DV=CAST(v_Digit AS VARCHAR(1));
RETURN "DV";
END
No hay comentarios:
Publicar un comentario