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 :

[ORACLE] comparaison de dates


Sujet :

Langage SQL

  1. #1
    Membre du Club Avatar de magic charly
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 67
    Points
    67
    Par défaut [ORACLE] comparaison de dates
    Bonjour,

    Je ne parviens pas à comparer deux dates en SQL sous Oracle.
    Sauriez vous me dire quel genre de fonctions on peut utiliser ?
    (j'imagine qu'il en existe )

    merci

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    qu'as tu essayé?
    quel type de requete te pose probleme?

  3. #3
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  4. #4
    Membre du Club Avatar de magic charly
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 67
    Points
    67
    Par défaut
    selectionner toutes les lignes d'une table pour lesquelles le champ date est plus récent que la date du jour précédent.

    par ex

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     SELECT * 
    FROM ma_table 
    WHERE ma_table.date > 24/03/2006
    j'essaie d'utiliser TO_DATE comme fonction mais je n'arrive pas a quelquechose de correct d'un point de vue syntaxe

    date est un champ de ma_table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM ma_table
    WHERE ma_table.date > to_date("20060324", "yyyymmdd")

  5. #5
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
      FROM MaTable
     WHERE MaDate > TO_DATE ('24/03/2006', 'dd/mm/yyyy');
    ou mieux, avec la date système de la BDD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
      FROM MaTable
     WHERE MaDate > SYSDATE;
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  6. #6
    Membre du Club Avatar de magic charly
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 67
    Points
    67
    Par défaut
    ce que tu as proposé fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM MaTable
    WHERE MaDate > TO_DATE ('24/03/2006', 'dd/mm/yyyy');
    Pour information saurais tu comment travailler a partir de la date courante system + 1 jour ou + 1 mois?

    merci !

  7. #7
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Un simple "+1" permet d'ajouter un jour à une date.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
      FROM MaTable
     WHERE MaDate + 1 > TO_DATE ('24/03/2006', 'dd/mm/yyyy');
    Ajouter 1 mois, je ne sais pas faire (ou alors il faut détailler les spécs ), le mois est une durée variable ...

    cf un article intéressant : http://sqlpro.developpez.com/cours/gestiontemps/
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  8. #8
    Membre du Club Avatar de magic charly
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 67
    Points
    67
    Par défaut
    je viens de comprendre que l'histoire des mois risque d'etre + complexe que ce que je pensais

    je souhaiais que 1 mois corresponde au meme numéro de jour dans le mois précédent.

    par ex

    21/02/2006 --> 21/01/2006

    mais dans ce cas-ci ....

    30/03/2005 --> X

    enfin merci pour le coup de main je vais me débrouiller avec ça

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

Discussions similaires

  1. [Oracle] Comparaison de date et ajout de mois
    Par memed dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/06/2006, 13h56
  2. [Oracle 9i] Traitement SQL et comparaison de dates
    Par Requin15 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/06/2006, 20h38
  3. comparaison de date
    Par nickoshiba dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2005, 15h48
  4. Comparaison de dates
    Par Tapioca dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/06/2004, 15h55
  5. Problème de comparaison de dates
    Par MiJack dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/03/2004, 21h43

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