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 :

Récupérer le mois précédent Oracle [11g]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 976
    Par défaut Récupérer le mois précédent Oracle
    Bonjour,

    j'ai une requête sql, dans laquel j'aimerais qu'il m'affiche le mois précédent, par exemple, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    t2.date_debut as debut_validite, --il m'affiche par exemple 09/11/2018
     
    --et j'ai une colonne que j'affiche
    to_char(month(thi.date_debut_validite,'Mon') as mois, --il m'affiche Nov.
    .....
    et moi ce que je souhaiterais c'est quand la date_debut = 05/10/2019, le champs to_char(month(thi.date_debut_validite,'Mon') m'affiche le mois précédent en l’occurrence septembre ou "Sept." donc le nom du mois précédent.

    merci à vous !

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    Par défaut
    Bonjour,
    Tu peux ajouter/retirer un mois à une date avec la fonction add_months().

    Tatayo.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 976
    Par défaut
    Bonjour,
    c'est ce que j'ai fais j'ai mis :

    add_months(to_char(t2.date_debut,'Month'),-1) as mois,

    mais j'ai un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique
    01858. 00000 -  "a non-numeric character was found where a numeric was expected"
    *Cause:    The input data to be converted using a date format model was
               incorrect.  The input data did not contain a number where a number was
               required by the format model.
    *Action:   Fix the input data or the date format model to make sure the
               elements match in number and type.  Then retry the operation.

  4. #4
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    add_months ne fonctionne qu'avec un paramètre de type date.
    Applique ton to_char après avoir utilisé add_months.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 976
    Par défaut
    merci ça marche , par contre , quand je fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    t2.date_debut as debut_validite : affiche 18/12/18
     
    to_char(t2.date_debut,'month')as mois_initiale, : affiche décembre jusque là ok
     
    to_char(add_months(t2.date_debut,-1),'dd/mm/yyyy') as "mois_n-1", : affiche 18/11/2018
     
    et quand je fais : 
    to_char(to_char(add_months(t2.date_debut_validite,-1),'dd/mm/yyyy'),'month') as mois_final -- j'aimerais qu'il m'affiche Novembre mais il me met une erreur :
     
    ORA-01722: Nombre non valide
    01722. 00000 -  "invalid number"
    *Cause:    The specified number was invalid.
    *Action:   Specify a valid number.
    en fait j'aimerais affiché dans le champs "mois_final" Novembre quand il me met 18/11/2018.

    Merci pour tes conseils

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_char(add_months(t2.date_debut,-1), 'month')

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/03/2013, 17h18
  2. Réponses: 5
    Dernier message: 18/10/2011, 15h51
  3. Réponses: 4
    Dernier message: 27/04/2006, 09h22
  4. dernier jour d'un mois comme oracle
    Par looc 6699 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/11/2005, 11h09
  5. Récupérer le mois et l'année d'une date
    Par missllyss dans le forum SQL
    Réponses: 2
    Dernier message: 23/09/2003, 09h17

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