calcul de la date de Paques, selon l'algorithme de Butcher-Meeus : En Oracle : select an,meton,epacte,lettre_dominicale, jm-31*floor(jm/31) + 1 jour, floor(jm/31) mois from (select an,meton,epacte,lettre_dominicale, epacte + lettre_dominicale - 7*floor((meton + (11*epacte) + (22*lettre_dominicale))/451) + 114 jm from (select an,meton, epacte,ld-7*floor(ld/7) lettre_dominicale from (select an,meton, epacte, 32 + 2*(floor(an/100)-4*floor(floor(an/100)/4)) + 2*floor(an_m100/4) - epacte - (an_m100-4*floor(an_m100/4)) ld from (select an,meton, ep - 30*floor(ep/30) epacte, an-100*floor(an/100) an_m100 from (select an,meton, 19*meton + floor(an/100) - floor(floor(an/100)/4) - floor(( floor(an/100) -floor((floor(an/100) + 8)/25) + 1)/3) + 15 ep from (select an, an - 19*floor(an/19) meton from(/* génère 50 années consécutives */select rownum + 1980 an from dual connect by rownum <= 50) )))))) En SQLite (et probablement en PostGRES, à vérifier) : select an,meton,epacte, lettre_dominicale, jm-31*(jm/31) + 1 jour, jm/31 mois from (select an,meton,epacte, lettre_dominicale, epacte + lettre_dominicale - 7*((meton + (11*epacte) + (22*lettre_dominicale))/451) + 114 jm from (select an,meton, epacte, ld-7*(ld/7) lettre_dominicale from (select an,meton, epacte, 32 + 2*((an/100)-4*((an/100)/4)) + 2*(an_m100/4) - epacte - (an_m100-4*(an_m100/4)) ld from (select an,meton, ep - 30*(ep/30) epacte, an-100*(an/100) an_m100 from (select an,meton, 19*meton + (an/100) - ((an/100)/4) - ( (an/100) -((an/100) + 8)/25 + 1)/3 + 15 ep from (select an, an - 19*(an/19) meton from(/* génère 50 années consécutives */WITH RECURSIVE cnt(an) AS (SELECT 1981 UNION ALL SELECT an+1 FROM cnt LIMIT 50) SELECT an FROM cnt order by an) )))))) (en SQLite, dans une division, quand les deux nombres n'ont pas de séparateur décimal, a/b est équivalent à floor(a/b) ORACLE, et donne un entier)