Jours férié hirji tunisie

Contenu du snippet

liste des jours fériés suivant la calendrier Hijri entre deux dates (ici le test pour la tunisie)
base oracle

Source / Exemple :


WITH ANNEES_H
     AS (SELECT ( To_Char( :AD_DAT_DEB, 'YYYY', 'NLS_CALENDAR=''Arabic Hijrah''' ) + Level - 1 ) ANNEE_H
           FROM Dual
         CONNECT BY Level <=
                          Round(
                                   To_Char( :AD_DAT_FIN, 'YYYY', 'NLS_CALENDAR=''Arabic Hijrah''' )
                                 - To_Char( :AD_DAT_DEB, 'YYYY', 'NLS_CALENDAR=''Arabic Hijrah''' ) )
                        + 2)
SELECT To_Char( J_F_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) J_H, X.*
  FROM (SELECT ' ras el 3am ' NHAR
             , To_Date( '01/01/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) J_F_H
             , ANNEE_H
          FROM ANNEES_H
        UNION ALL
        SELECT ' 3ied Kbir 1' NHAR
             , To_Date( '10/12/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) J_F_H
             , ANNEE_H
          FROM ANNEES_H
        UNION ALL
        SELECT ' 3ied Kbir 2' NHAR
             , To_Date( '11/12/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) J_F_H
             , ANNEE_H
          FROM ANNEES_H
        UNION ALL
        SELECT ' 3ied sghir 1' NHAR
             , To_Date( '01/10/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) J_F_H
             , ANNEE_H
          FROM ANNEES_H
        UNION ALL
        SELECT ' 3ied sghir 2' NHAR
             , To_Date( '02/10/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) J_F_H
             , ANNEE_H
          FROM ANNEES_H
        UNION ALL
        SELECT ' mouled ' NHAR
             , To_Date( '12/03/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) J_F_H
             , ANNEE_H
          FROM ANNEES_H
        UNION ALL
        SELECT ' 3ied sghir chak ' NHAR
             , CASE
                   WHEN To_Char( To_Date( '01/10/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' ) - 1
                               , 'dd'
                               , 'NLS_CALENDAR=''Arabic Hijrah''' ) = 30 THEN
                       To_Date( '30/09/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' )
                   ELSE
                       To_Date( '03/10/' || ANNEE_H, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''' )
               END
                   J_F_H
             , ANNEE_H
          FROM ANNEES_H) X
 WHERE J_F_H >= :AD_DAT_DEB AND J_F_H <= :AD_DAT_FIN
ORDER BY X.J_F_H;

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.