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

PL/SQL Oracle Discussion :

Retourner une date avec le mois précédent


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Homme Profil pro
    Expert Oracle
    Inscrit en
    Mai 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Expert Oracle

    Informations forums :
    Inscription : Mai 2009
    Messages : 92
    Points : 70
    Points
    70
    Par défaut Retourner une date avec le mois précédent
    Salut tout le monde,

    J'ai une date que je voudrais remplacer par le mois moins un !!

    Exemple :
    en entrée 05/10/2010, en sortie 05/09/2010

    J'ai fais pas mal de manip, ça marche pour toutes les dates, sauf par exemple:

    en entrée 28/02/2010, en sortie ça doit être 28/01/2010, mais ça me retourne 31/01/2010 !!

    quelqu'un possède t-il une formule pour retourner la bonne date?

    celle que j'utilise (mais qui marche pas bien):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select add_months(SYSDATE,-1) from dual
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Points : 388
    Points
    388
    Par défaut
    bonjour,
    qu'elle est ta règle de gestion ?
    -La même date le mois d'avant , dans ce cas que faire des mois en 31/30 et 28
    jours qui ne se répète pas le mois d'avant (le 31/03 doit donner quoi pour toi ?)
    -La date moins 30 j ?

    Cordialement

  3. #3
    Membre régulier
    Homme Profil pro
    Expert Oracle
    Inscrit en
    Mai 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Expert Oracle

    Informations forums :
    Inscription : Mai 2009
    Messages : 92
    Points : 70
    Points
    70
    Par défaut
    Oui c'est vrai que ça va poser un problème avec ces cas (31/03 par exemple).

    J'avais écrit un code qui m'a résolu le premier problème, maintenant je dois trouver une solution pour le deuxième !!

    Voici le bout de code que j'ai écrit:

    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
    28
    29
    DECLARE
        v_previous_month            DATE;
        DD  VARCHAR2(4);
        MM  VARCHAR2(4);
        YY  VARCHAR2(4);
    BEGIN
     
        DD := TO_CHAR(TO_DATE('30/03/2010','DD/MM/RRRR'), 'DD');
        MM := TO_CHAR(TO_DATE('30/03/2010','DD/MM/RRRR'), 'MM');
        YY := TO_CHAR(TO_DATE('30/03/2010','DD/MM/RRRR'), 'RRRR');
     
        MM := TO_CHAR(TO_NUMBER(MM) - 1);
     
        IF (to_number(MM) = 0)
        THEN
            MM := '12';
            YY := TO_CHAR(TO_NUMBER(YY) - 1);
        END IF;
     
     
        dbms_output.put_line(DD);
        dbms_output.put_line(MM);
        dbms_output.put_line(YY);
     
     
    EXCEPTION WHEN OTHERS
    THEN
        dbms_output.put_line('others error ');
    END;
    Sinon pour tes questions je vais vérifier quelques trucs avant de répondre...Merci pour ton aide

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

Discussions similaires

  1. creer une date avec l'annee et le mois donnés
    Par Xeuch dans le forum Langage
    Réponses: 1
    Dernier message: 16/04/2013, 18h10
  2. Retourner une date de la forme Mois-Année
    Par Anibel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/02/2013, 20h30
  3. Réponses: 5
    Dernier message: 18/10/2011, 15h51
  4. Réponses: 3
    Dernier message: 31/01/2011, 18h26
  5. Réponses: 3
    Dernier message: 19/06/2007, 22h34

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