年の正しい週番号を取得する関数を作成したいと考えています。「ネイティブ」ソリューションを見つけるためにここに投稿しましたが、明らかにそうではありません。
この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