diff --git a/Functions/is_hi_in_date_pg_int8__date__date_.txt b/Functions/is_hi_in_date_pg_int8__date__date_.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e9eaa0ec9769f9091cb97bda14248e469cac71b --- /dev/null +++ b/Functions/is_hi_in_date_pg_int8__date__date_.txt @@ -0,0 +1,43 @@ +-- DROP FUNCTION schema_xyz.is_hi_in_date_pg(int8, date, date); + +CREATE OR REPLACE FUNCTION schema_xyz.is_hi_in_date_pg(my_uid bigint, my_first_date date, my_last_date date) + RETURNS bigint + LANGUAGE plpgsql +AS $function$ + + +DECLARE + + +ergebnis bigint; + + +BEGIN + +select count(*) into ergebnis +from schema_xyz.relation where uid_1=my_uid and uid_0=0 +and type in (0,1) +--and ((extract(year from first_date) <= my_first_year and extract(year from last_date) > my_first_year) +--or (extract(year from first_date) < my_last_year and extract(year from last_date) >= my_last_year)); +and ((first_date >= my_first_date and first_date <= my_last_date) +or (last_date >= my_first_date and last_date <= my_last_date) +or (first_date <= my_first_date and last_date >= my_last_date) +); + +/* +if my_first_year=my_last_year then +select count(*) into ergebnis +from relation where uid_1=my_uid and uid_0=0 +and type in (0,1) +and ((extract(year from first_date) = my_first_year and extract(year from last_date) = my_last_year)); +end if; +*/ +if ergebnis >0 then ergebnis:=1; +else ergebnis:=0; +end if; + +RETURN ergebnis; +end; + +$function$ +;