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

SQL Oracle Discussion :

Semaine - date début et fin


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Points : 54
    Points
    54
    Par défaut Semaine - date début et fin
    Bonjour,
    Mes recherches n'ayant rien donné, peut être qu'un expert passant par ici aurait la solution à mon problème :
    - J'ai une date au format wwyyyy (ou yyyyww) : un numéro de semaine dans une année
    - Mon but : savoir quel est le premier jour de cette semaine (le lundi) et le dernier (dimanche)

    Par exemple : avec 052008, je voudrais avoir deb = 28012008 et fin = 01022008

    Si quelqu'un a une idée... Un grand merci d'avance!

  2. #2

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Points : 54
    Points
    54
    Par défaut
    Merci pour le lien, tout cela ne me parait pas très clair... j'ai pas envie de dire que le 01/01 est un lundi... c'est pas toujours le cas!...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Visiblement tu n'as même pas essayer la requête.

    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
    21
    22
    23
    24
    25
    26
    27
    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);
     
    Enter value for year: 2008
    Enter value for week: 05
    old   4:   FROM (SELECT &year y, &week w FROM dual)
    new   4:   FROM (SELECT 2008 y, 05 w FROM dual)
     
    Lundi     Dimanche
    --------- ---------
    28-JAN-08 03-FEB-08
     
    1 row selected.
     
    /***** NOUVEAU TEST *****/
    Enter value for year: 2008
    Enter value for week: 01
    old   4:   FROM (SELECT &year y, &week w FROM dual)
    new   4:   FROM (SELECT 2008 y, 01 w FROM dual)
     
    Lundi     Dimanche
    --------- ---------
    31-DEC-07 06-JAN-08
     
    1 row selected.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/01/2014, 17h21
  2. Dates début et fin pour chaque semaine d'un mois.
    Par smailhop dans le forum VB.NET
    Réponses: 3
    Dernier message: 09/12/2009, 16h45
  3. [PHP 5.2] [Dates] début et fin de mois précédent
    Par kaboume dans le forum Langage
    Réponses: 2
    Dernier message: 13/08/2009, 14h09
  4. Lecture entre date début et fin
    Par lodan dans le forum MySQL
    Réponses: 8
    Dernier message: 30/10/2008, 14h46
  5. date début et fin semaine en cours
    Par youness78 dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/08/2007, 11h40

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