IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Numero de semaine -> date debut, date fin [Sources]


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Points : 65
    Points
    65
    Par défaut Numero de semaine -> date debut, date fin
    Bonjour

    J'ai un grand problème
    C'est que j'ai le numéro d'une semaine par exemple semaine "4" et l'année par exemple "2006" et je dois récuperer de ces deux informations la date de debut de la semaine et la date fin de la mâme semaine. J'ai chercher dans les fonctions de la date et j'ai rien trouvé. QQun parmi vous a une solution? J'espere que vous m'avez compris et que vous allez m'aider car c trop urgent pour moi

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    ça aurait été très aimable de fournir la réponse

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Points : 65
    Points
    65
    Par défaut
    Bonjour

    De quelle réponce parlez vous? moi je n'en ai encore besoin et j'ai pas encore trouvé, je compte beaucoup sur votre forum
    N.B: Je travaille sur oracle 9i

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    le sujet était taggé résolu

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Points : 65
    Points
    65
    Par défaut
    Désolée, c'est ma première participation et j'ai pas fais attention à ce détail,sinon comment faire pour me ratrapper et pour que je reçoi des solutions pour mon problème

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    y'a plus qu'à attendre maintenant

  7. #7
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select 
            greatest(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+(w-1)*7,to_date(y||'-01-01','RRRR-MM-DD')) as "Lundi"
            , least(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+6+(w-1)*7,to_date(y||'-12-31','RRRR-MM-DD')) as "Dimanche" 
    From 
            (select &year y, &week w from dual);

  8. #8
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Mhhhm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    SQL> SELECT greatest(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+(w-1)*7,to_date(y||'-01-01','RRRR-MM-DD')) AS "Lundi", least(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+6+(w-1)*7,to_date(y||'-12-31','RRRR-MM-DD')) AS "Dimanche" FROM (SELECT &year y, &week w FROM dual);
    Entrez une valeur pour year : 2006
    Entrez une valeur pour week : 1
    ancien   5 :         (SELECT &year y, &week w FROM dual)
    nouveau   5 :         (SELECT 2006 y, 1 w FROM dual)
     
    Lundi    Dimanche
    -------- --------
    01/01/06 01/01/06
     
    SQL> SELECT greatest(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+(w-1)*7,to_date(y||'-01-01','RRRR-MM-DD')) AS "Lundi", least(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+6+(w-1)*7,to_date(y||'-12-31','RRRR-MM-DD')) AS "Dimanche" FROM (SELECT &year y, &week w FROM dual);
    Entrez une valeur pour year : 2006
    Entrez une valeur pour week : 2
    ancien   5 :         (SELECT &year y, &week w FROM dual)
    nouveau   5 :         (SELECT 2006 y, 2 w FROM dual)
     
    Lundi    Dimanche
    -------- --------
    02/01/06 08/01/06
    Dans ma boite, la semaine 1 c'est celle du 02/01/2006 au 08/01/2006

  9. #9
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    donc dans ta boîte, le 01.01.2006 ne fais partie d'aucune semaine de 2006 ?

  10. #10
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Exactement, c'est foireux hein ?

  11. #11
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    ben c'est vrai que c'est pas banal !

    enfin c'est une politique...

  12. #12
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    et quelle est la règle "officielle" ?

    la première semaine d'une année est-elle IMPERATIVEMENT la première semaine qui contient un lundi dont la date fait partie de l'année ?
    ou bien est-ce le premier jour OUVRABLE (hors WE) qui détermine la première semaine de l'année ?

  13. #13
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    OK,
    alors si, comme je le pense, la règle est que la première semaine de l'année doit être la première avec une date de l'année sur un jour ouvrable, voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Select 
            greatest(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+(
                                                                    Case When
                                                                            trim(to_char(to_date(y||'-01-01','RRRR-MM-DD'),'Day','nls_date_language=french')) Not in ('Samedi', 'Dimanche')
                                                                         Then
                                                                            w
                                                                         Else 
                                                                            w +1
                                                                    End -1)*7,trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')) as "Lundi"
            , trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+6+(
                                                                Case When
                                                                        trim(to_char(to_date(y||'-01-01','RRRR-MM-DD'),'Day','nls_date_language=french')) Not in ('Samedi', 'Dimanche')
                                                                     Then
                                                                        w
                                                                     Else 
                                                                        w +1
                                                                End -1)*7                                                   as "Dimanche" 
    From 
            (select &year y, &week w from dual);

  14. #14
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Citation Envoyé par Yorglaa
    et quelle est la règle "officielle" ?
    Rien que dans Outlook, il y a 3 régles pour determiner les numéros de semaines
    • La semaine du 1er Janvier
    • La première semaine de 4 jours
    • La première semaine entière (et encore on peut choisir quelle jour commence la semaine ...)


    Ca peut faire des choses bizarre du genre le 1er janvier 2006 appatient en fait à la dernière semaine de 2005 mais bon visiblement il n'y a rien d'officiel en la matière....

  15. #15
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Exactement, chaque boîte choisi sa vision propre des semaines. C'est une donnée perso de la boîte, comme les jours ouvrés etc.

  16. #16
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    Alors je suppose qu'en "jouant" un peu avec les "CASE" du dernier Select que j'ai posté, on doit pouvoir arriver à plus ou moins toutes les politiques en la matière...
    Ce qui devrait convenir à notre ami fatati...

    peut-être pourrait-il nous tenir au courant de son cas spécifique ?

  17. #17
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Points : 65
    Points
    65
    Par défaut
    Merci infiniment,

    Je me suis inspiré de vos codes et j'ai effectivement maintenant le resultat et ça marche à merveille

    En ce qui concerne le debut de la semaine je pense qu'il existe des normes internationales européennes ou américaines. La norme Européenne compte je pense à partir du premier jeudi de l'année et d'ailleurs c'est ce qu'on prend dans ma boite.

    Merci bcp

  18. #18
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Le premier jeudi de l'année ? Désolé mais si c'est la norme européenne elle me parait un peu tirée par les cheveux. C'est quoi la justification ?

  19. #19
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    la 1° semaine est plus courte

  20. #20
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    mais est-elle la meilleure ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/07/2013, 22h24
  2. [AC-2007] demande de date debut et fin
    Par titi57 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 22/12/2011, 23h52
  3. datetimepicker date debut date fin
    Par monlio dans le forum jQuery
    Réponses: 3
    Dernier message: 03/12/2010, 00h46
  4. Réponses: 3
    Dernier message: 23/03/2009, 10h25
  5. Formulaire avec date debut date fin
    Par Merfolk dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/08/2006, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo