changes
This commit is contained in:
@ -1,2 +0,0 @@
|
||||
alter table mieter
|
||||
add column iban varchar(34);
|
@ -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 ;
|
||||
|
Reference in New Issue
Block a user