CREATE OR REPLACE FUNCTION disp.test( tt integer, age character varying ) RETURNS boolean AS
$$
DECLARE
x numeric;
num character varying;
model_age text [] ;
xage numeric;
actual_patient boolean;
BEGIN
actual_patient=false;
model_age=(select array_agg(mmpb.age::text) ));-- в результате запроса данные ввида ["23,45,33", "2.0,67"]
xage:=age::NUMERIC;
if xage>=3 then xage:=trunc(xage); end if;
if model_age is not null then
FOREACH num IN ARRAY regexp_split_to_array(model_age, ',')
LOOP
x:=num::NUMERIC;
if xage=x then actual_patient:=true; exit; end if;
END LOOP;
return actual_patient;
else return actual_patient; end if;
EXCEPTION WHEN others THEN
return trim(num);
END;
$$
LANGUAGE plpgsql VOLATILE
COST 100;
Функция ничего не возвращает с если age=33.6
Подскажите пожалуйста в чем может быть ошибка