Разница между двумя датами в postgresql
Функция:
CREATE FUNCTION diff(d1 date,d2 date) RETURNS int AS $
BEGIN
IF d1 = NULL THEN
RETURN SELECT extract(year from age(current_date,d2));
ELSE
RETURN SELECT extract(year from age(d1,d2));
END IF;
END
$ language plpgsql;
Мое требование - найти разницу между двумя датами в годах. Итак, я пишу вышеупомянутую функцию. Здесь, если d1 равен NULL, ему присваивается текущая дата. Но это приводит к ошибке, как показано ниже.
ERROR: syntax error at or near "SELECT"
LINE 1: SELECT SELECT extract(year from age(current_date, $1 ))
QUERY: SELECT SELECT extract(year from age(current_date, $1 ))
CONTEXT: SQL statement in PL/PgSQL function "diff" near line 4
Помогает ли кто-нибудь мне решить эту проблему.