This commit is contained in:
2021-02-01 22:44:02 +01:00
parent d777123d33
commit cc47292f7b
2 changed files with 31 additions and 2 deletions

View File

@ -1,2 +0,0 @@
alter table mieter
add column iban varchar(34);

View File

@ -1,3 +1,6 @@
alter table mieter
add column iban varchar(34);
delimiter //
create or replace function format_iban(p_iban varchar(34)) returns varchar(34)
@ -30,4 +33,32 @@ begin
end;
//
create or replace function check_iban(p_iban varchar(34)) returns boolean
begin
declare v_country varchar(2);
declare v_result boolean;
declare v_rearranged_iban varchar(36);
declare v_numeric_iban decimal(36, 0);
declare v_numeric_result decimal(36, 0);
set v_country = substring(p_iban from 1 for 2);
if (v_country = 'DE') then
set v_rearranged_iban = concat(substring(p_iban from 5), '1314', substring(p_iban from 3 for 2));
set v_numeric_iban = cast(v_rearranged_iban as decimal(36, 0));
set v_numeric_result = v_numeric_iban % 97;
if (v_numeric_result = 1) then
set v_result = TRUE;
else
set v_result = FALSE;
end if;
else
set v_result = TRUE;
end if;
return v_result;
end;
//
delimiter ;