Requète

lerit Messages postés 9 Statut Membre -  
Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, à tous
dans un fichier Excel, j'aimerai renvoyé toutes les données supérieures ou égales à 2 mois.
Actuellement j'ai une requète, qui fait ceci:
WHERE (RELEVE_GRANULATION.QUAND>={ts '2008-07-01 03:56:46'})
Que dois je changer pour ce soit bien mes données supérieures à 2 mois
Merci à l'avance des réponses que vous allez me faire.
Configuration: Windows XP
Internet Explorer 6.0

9 réponses

  1. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Quelle base de données utilises-tu, car en fonction de celle-ci il existe plusieurs possibilités.

    A plus
    0
  2. lerit Messages postés 9 Statut Membre
     
    Bonjour,

    Les données viennent d'une base Oracle que je transfère dans un fichier Excel.
    J'espère que cela va te suffire.
    Merci
    0
  3. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    En supposant que la variable RELEVE_GRANULATION.QUAND est une date, le code suivant devrait faire ce que tu veux
    WHERE (MONTHS_BETWEEN(to_date('2008/07/01','YYYYMMDD'),RELEVE_GRANULATION.QUAND) >= 2)

    La fonction MONTHS_BETWEEN calcule le nombre de mois entre la première date et la seconde. La première date doit être la plus grande si tu veux avoir un nombre de mois positifs, exemple si RELEVE_GRANULATION.QUAND est égal à la date 2008/04/01, alors MONTHS_BETWEEN(to_date('2008/07/01',RELELVE_GRANULATION.QUAND) donnera comme résultat 3

    A plus
    0
  4. lerit Messages postés 9 Statut Membre
     
    Bonjour,
    Merci pour la réponse.
    Seulement, dans ce cas ce ne sont pas les valeurs, en l'occurence les dates, qui vont apparaitrent, mais seulement un chiffre.
    Ce que j'aimerai, c'est de ne voir apparaitre les données des deux derniers mois à partir d'aujourd'hui.
    Est ce possible. Merci pour ta patience et ta compréhension.

    A bientôt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Peux-tu copier/coller l'ordre SQL complet et je pourrai alors répondre à ta question, je pense que cela ne devrait pas être un problème d'avoir ce que tu veux.
    A plus
    0
    1. lerit Messages postés 9 Statut Membre
       
      Bonjour,

      Voici l'ordre SQL
      SELECT
      RELEVE_GRANULATION.QUAND,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx,
      RELEVE_GRANULATION.xx_xx
      FROM
      xx_xx.RELEVE_GRANULATION RELEVE_GRANULATION
      WHERE
      (RELEVE_GRANULATION.QUAND>={ts '2008-07-01 03:56:46'})
      ORDER BY
      RELEVE_GRANULATION.QUAND

      Si cela te parle mieux alors voila. Et encore merci pour le coup de main
      0
  7. lerit Messages postés 9 Statut Membre
     
    Bonjour,

    Je vais essayer de formuler ma demande d'une façon plus compréhensible.
    Aujourd'hui nous sommes le 12/09/2008.
    Je voudrais faire apparaitre les données comprises entre le 12/07/2008 et 12/09/2008. Et demain nous serons le 13, ce sera donce entre le 13/07 et le 13/09, ainsi de suite.
    Est-ce possible, si oui quel est la commande à écrire.

    Merci
    0
  8. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    La réponse est OUI et Christounet t'a donné la réponse ...

    ;o)
    0
  9. lerit Messages postés 9 Statut Membre
     
    Bonjour,

    Ok, j'ai le droit à un message d'erreur, lorsque j'écris cette commande. Car le format date ne correspond pas.

    moi j'ai le format date plus heure 12/07/2008 03:56:43.

    Merci
    0
  10. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Si tu utilises le code suivant, tu ne devrais plus avoir de fautes
    SELECT ........
    WHERE (MONTHS_BETWEEN(to_date('2008/07/01','YYYYMMDD'),
                to_date(to_char(RELEVE_GRAN­ULATION.QUAND,'YYYYMMDD'),'YYYYMMDD') >= 2)

    A plus
    0