| |
CREATE OR REPLACE FUNCTION "public"."datepaque" (annee integer) RETURNS date AS
$body$
DECLARE
g integer;
i integer;
j integer;
c integer;
h integer;
l integer;
jourpaque integer;
moispaque integer;
dimpaque date;
BEGIN
g:=annee % 19;
c:=annee / 100;
h:=(c-c/4-(8*c+13)/25+19*g+15)%30;
i:=h-(h/28)*(1-(h/28)*(29/(h+1))*((21-g)/11));
j:=(annee+annee/4+i+2-c+c/4)%7;
l:=i-j;
moispaque:=3+(l+40)/44;
jourpaque:=l+28-31*(moispaque/4);
dimpaque:=date(annee::text||'-'||moispaque::text||'-'||jourpaque::text );
return dimpaque;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."estbissextile" (integer) RETURNS boolean AS
$body$
SELECT ($1%4=0) AND (($1%100!=0) OR ($1%400=0));
$body$
LANGUAGE 'sql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."datedebmois" (date) RETURNS date AS
$body$
SELECT (EXTRACT(YEAR FROM $1::date)||'-'||EXTRACT(MONTH FROM $1::date)||'-01')::date;
$body$
LANGUAGE 'sql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."joursdansmois" (date) RETURNS integer AS
$body$
DECLARE
jdansm CONSTANT int2[12] = '{31,28,31,30,31,30,31,31,30,31,30,31}';
mm int2;
r int2;
BEGIN
mm:=EXTRACT(MONTH FROM $1)::integer;
r:=jdansm[mm];
IF (mm=2) AND (EXTRACT(YEAR FROM $1)::integer%4=0) AND ((EXTRACT(YEAR FROM $1)::integer%100!=0) OR (EXTRACT(YEAR FROM $1)::integer%400=0)) THEN
r:=r+1;
END IF;
return r;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."nombrejoursannee" (date) RETURNS integer AS
$body$
SELECT CASE WHEN (EXTRACT(YEAR FROM $1)::integer%4=0) AND ((EXTRACT(YEAR FROM $1)::integer%100!=0) OR (EXTRACT(YEAR FROM $1)::integer%400=0)) THEN 365 ELSE 366 END;
$body$
LANGUAGE 'sql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."numerodejour" (date) RETURNS integer AS
$body$
SELECT extract(doy from $1::date)::integer;
$body$
LANGUAGE 'sql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."numerosemaine" (date) RETURNS integer AS
$body$
SELECT EXTRACT(week FROM $1::date)::integer;
$body$
LANGUAGE 'sql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."passageheureete" (date) RETURNS boolean AS
$body$
DECLARE
m date;
BEGIN
m:=(EXTRACT(year FROM $1)||'-03-31')::date;
WHILE EXTRACT(dow FROM m)<>0 LOOP
m:=m-'1 day'::interval;
END LOOP;
return $1=m;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
| |
CREATE OR REPLACE FUNCTION "public"."passageheurehiver" (date) RETURNS boolean AS
$body$
DECLARE
m date;
BEGIN
m:=(EXTRACT(year FROM $1)||'-10-31')::date;
WHILE EXTRACT(dow FROM m)<>0 LOOP
m:=m-'1 day'::interval;
END LOOP;
return $1=m;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
|
|
Consultez les autres pages sources
 
|
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2006 Damien Griessinger Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.