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

Langage SQL Discussion :

Manipulation des dates


Sujet :

Langage SQL

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Par défaut Manipulation des dates
    Bonjour,

    Après avoir longuement réfléchi et cherché sur le forum je ne trouve pas la solution à ce problème:

    Je récupère dans une table une DateTime (DTTM), et je voudrais vérifier si d'une part il s'agit de la veille de la date courant, et d'autre part si cette date fait partie des 6 derniers mois. L'heure n'a aucune importance.

    Je tourne sous oracle 9i...

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 143
    Par défaut
    Connaissant mal les spécificités d'Oracle, je te donnerai une réponse normalisée SQL-2003 :
    La veille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST(madate AS date) = CURRENT_DATE - 1
    Dans les six derniers mois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST(madate AS date) BETWEEN CURRENT_DATE - INTERVAL '6' MONTH AND CURRENT_DATE
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Par défaut
    Bonsoir,

    Pour vérifier si elle est supérieure à la veille

    taDate > to_date(sysdate-1,'ddmm-yyyy')

    ou taDate > sysdate-1

    pour les 6 derniers mois, utiliser la fonction add_months

    taDate between add_months(sysdate,-6) and sysdate

    add_months(dateVoulue,nbMois)

    Essaies ca

  4. #4
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Par défaut
    Merci, mais finallement ca marche avec ca:

    TO_DATE (SYSDATE, 'DD/MM/YYYY') - TO_DATE (c.logindttm, 'DD/MM/YYYY') = 1 pour la veille

    et

    TO_DATE (SYSDATE, 'DD/MM/YYYY') - TO_DATE (c.logindttm, 'DD/MM/YYYY') BETWEEN 1 AND 183 pour les 6 mois

    Evidemment c'est aproximatif, mais ca convient à mon projet.

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

Discussions similaires

  1. [JDBC] manipulation des dates
    Par zais_ethael dans le forum JDBC
    Réponses: 3
    Dernier message: 11/12/2005, 19h55
  2. [JDBC] manipulation des dates/heures en Java
    Par kurkLord dans le forum JDBC
    Réponses: 6
    Dernier message: 09/08/2004, 12h49
  3. Manipulations des Dates
    Par kurtc dans le forum Langage SQL
    Réponses: 11
    Dernier message: 13/04/2004, 14h39
  4. [IB6][BCB5]Manipulation des dates.
    Par Sitting Bull dans le forum SQL
    Réponses: 4
    Dernier message: 09/04/2004, 15h33
  5. Manipuler des dates...
    Par Ti Jen-tsie dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2003, 11h46

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