Я хочу создать функцию, чтобы получить правильный номер недели года. Я уже разместил здесь, чтобы найти "родное" решение, но видимо нет.
Я попытался создать функцию на основе этого примера mysql.
Вот код, переведенный в postgresql:
CREATE OR REPLACE FUNCTION week_num_year(_date date)
RETURNS integer AS
$BODY$declare
_year integer;
begin
select date_part('year',_date) into _year;
return ceil((to_char(_date,'DDD')::integer+(to_char(('01-01-'||_year)::date,'D')::integer%7-7))/7);
end;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
Но это дает неверный результат, может ли кто-нибудь мне помочь?
Моя конфигурация: PostgreSQL 9.2