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 :

Année bissextile [9i]


Sujet :

Oracle

  1. #1
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut Année bissextile [9i]
    Bonjour à tous,

    Encore une question à 200 points !
    Existe-t-il une fonction oracle qui permet de savoir si on est dans une année bissextile ?

    merci d'avance
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  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 : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    non il faut le coder à la main

  3. #3
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Merci Fred_D,

    C'est domage ça !

    Par contre j'ai une remarque :
    Lorsque je fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select add_months(to_date('15/12/2006','DD/MM/YYYY'),12) from dual
    Je récupère bien : 15/12/2007

    mais lorsque je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select add_months(to_date('28/02/2007','DD/MM/YYYY'),12) from dual
    Je récupère 29/02/2008

    C'est bizarre ça non ?
    Est ce normal ?
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je n'ai pas trouvé dans la doc mais pourquoi ne pas l'écrire vous-même ?
    Voici ma vision des choses, à vous de compléter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CREATE OR REPLACE FUNCTION EST_BISSEXTILE(PC_YEAR NUMBER)
    RETURN BOOLEAN IS
      LC_dummy  VARCHAR2(20);
    BEGIN
      SELECT TO_CHAR('29/02/' || PC_year, 'DD/MM/YYYY')
      INTO   LC_dummy
      FROM   DUAL;
      RETURN TRUE;
    EXCEPTION WHEN OTHERS THEN -- dangereux car trop général !!!!
      RETURN FALSE;
    END;
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par kalyparker
    mais lorsque je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select add_months(to_date('28/02/2007','DD/MM/YYYY'),12) from dual
    Je récupère 29/02/2008

    C'est bizarre ça non ?
    Est ce normal ?
    Un élément de réponse :
    http://www.developpez.net/forums/sho...d.php?t=137310
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  6. #6
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Merci plaineR,
    J'avais pas vu que quelqu'un avais déjà poster ça
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  7. #7
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Pour répondre à Magnus,

    ma vision est différente, mais le résultat est le même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    declare 
     annee integer(4) := 2002; 
    begin 
    if ((annee MOD 4 = 0) and (annee MOD 100 != 0) or annee MOD 400 = 0) then 
      DBMS_OUTPUT.put_line('bissextile'); 
    else 
      DBMS_OUTPUT.put_line('pas bissextile'); 
    end if; 
    end;
    Merci à tous d'avoir participer à ce grand jeux

    Vous êtes vraiment des chefs
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 190
    Points : 103
    Points
    103
    Par défaut
    voilà comment je vois les choses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    create or replace function ff(an in varchar2) return varchar2 is
      Result varchar2(20);
      t varchar2(10);
    begin
    select to_char(last_day(to_date('02/'||an,'mm/yyyy')),'dd') into t from dual;
    if t = '29'
    then Result := 'bisc';
    else Result := 'non';
    end if;
     
      return(Result);
    end ff;

  9. #9
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extract(month from (trunc(d,'Y')+59))
    donnera 2 les années bisextiles et 3 sinon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DateDiff et années bissextiles
    Par Qosmio dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 02/06/2010, 14h54
  2. calendrier année bissextile
    Par klass dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/06/2010, 09h28
  3. [Dates] Liste déroulante date et années bissextiles
    Par Jiraiya42 dans le forum Langage
    Réponses: 7
    Dernier message: 03/07/2007, 00h04
  4. test année bissextile
    Par franfr57 dans le forum ASP
    Réponses: 1
    Dernier message: 07/05/2007, 13h28
  5. [VBA-E] Graphique superposé avec année bissextile
    Par popo68 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/01/2007, 14h22

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