CREATE OR REPLACE FUNCTION iff(cond BOOLEAN, value anyelement) RETURNS anyelement AS $$

BEGIN
  IF cond THEN
    RETURN value;
  ELSE
    RETURN NULL;
  END IF;
END;

$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION iff(cond BOOLEAN, value anyelement, else_value anyelement) RETURNS anyelement AS $$

BEGIN
  IF cond THEN
    RETURN value;
  ELSE
    RETURN else_value;
  END IF;
END;

$$ LANGUAGE plpgsql;