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

Oracle Discussion :

simple select avec date, mais ne fonctionne pas


Sujet :

Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 3
    Points
    3
    Par défaut simple select avec date, mais ne fonctionne pas
    Bonjour a tous, et merci beaucoup a tout les membres de ce forum

    j'ai un petit probleme, avec une petite procedure qui contient une petite requette, qui a ne retourne aucune erreur mais son comportement est un peu etrange, je comprend pas pourkoi, je sais que c'est au niveau de la date mais j' ai pas reussi a resoudre ca, alors svp si vous pouvez m'aider ca sera tres gentil de votre par

    IDPARTIE DATEPARTI SCORETOTAL NOMEMBRE NOTERRAIN
    ---------- --------- ---------- ---------- ----------
    1 25-AUG-06 82 902 1
    2 27-AUG-06 83 902 1
    3 28-AUG-06 91 902 1
    4 25-AUG-06 90 802 1
    5 27-SEP-06 77 932 1
    6 28-AUG-06 90 901 1
    7 29-AUG-06 80 901 1
    8 30-AUG-06 70 901 1
    9 31-AUG-06 99 901 1
    10 20-SEP-06 89 901 1
    11 21-SEP-06 99 901 1

    IDPARTIE DATEPARTI SCORETOTAL NOMEMBRE NOTERRAIN
    ---------- --------- ---------- ---------- ----------
    12 22-SEP-06 88 901 1
    13 23-AUG-06 90 932 1
    14 24-SEP-06 77 932 1
    15 23-AUG-06 90 932 1

    15 rows selected.


    SQL> SELECT SUM(SCORETOTAL), COUNT(*)
    2 FROM G_PARTIES, G_PARCOURS
    3 WHERE G_PARTIES.NOMEMBRE = 13
    4 AND G_PARCOURS.NORMALE = 72
    5 AND DATEPARTIE >= '23-AUG-06'
    6 AND G_PARTIES.NOTERRAIN = G_PARCOURS.NOTERRAIN
    7 GROUP BY NOMEMBRE;

    no rows selected

    la vous avez le contenu de la table et la requette qui doit me retourne normalement au moins une ligne mais elle ne retourne rien comme vous voyez

    merci d'avance et bonne journee
    salut a tous

  2. #2
    Membre à l'essai
    Profil pro
    RSI
    Inscrit en
    Août 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : RSI

    Informations forums :
    Inscription : Août 2002
    Messages : 9
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Je pense que le résultat est tout a fait conforme à votre requête, puisque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE G_PARTIES.NOMEMBRE = 13
    selectionne uniquement le membre N° 13, or il n'y en n'a pas dans votre table, vous vouliez peut être la partie N° 13 ?

    De plus pour eviter les problèmes de configuration des formats de date par défaut vous devriez écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND DATEPARTIE >= TO_DATE('23/08/2006','dd/mm/yyyy')

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci pour la reponse mon ami,
    pour le 13 c'est juste une erreur de frappe mais au juste c'est 12, de plus j'ai essayé avec beaucoup de combinaison et ca marche par sauf si je fais une select sans date partie, la sa marche je sais pas pourkoi.

    AND DATEPARTIE >= TO_DATE('23/08/2006','dd/mm/yyyy')
    et pour votre proposition je vais avant de faire la requette un alter session pour formater la date. parce que cette requette moi je l'utilise dans une procedure pour faire des calcules a partie de la date passé en param, et les dates sont la, mais il ne calcule rien puisque pour lui il ne trouve rien

    merci encore

  4. #4
    Membre à l'essai
    Profil pro
    RSI
    Inscrit en
    Août 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : RSI

    Informations forums :
    Inscription : Août 2002
    Messages : 9
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Etes-vous sur du contenu de la colonne "DATEPARTIE", je présume que vous vous attendez à avoir des dates en 2006, mais avez vous vérifié ?
    En faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TO_CHAR(DATEPARTIE,'dd/mm/yyyy')
    FROM G_PARTIES;
    Obtenez-vous bien des dates en 2006 ?

    Puisque Oracle ne vous renvoi aucune erreur, il ne peut s'agir que d'un problème de sélection de vos données.

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    rebonjour

    merci encore pour la reponse,
    voila le resultat avec le teste que vous avez demandé

    SELECT TO_CHAR(DATEPARTIE,'dd/mm/yyyy')
    2 FROM G_PARTIES;

    TO_CHAR(DA
    ----------
    25/08/0006
    27/08/0006
    28/08/0006
    25/08/0006
    27/09/0006
    28/08/0006
    29/08/0006
    30/08/0006
    31/08/0006
    20/09/0006
    21/09/0006

    TO_CHAR(DA
    ----------
    22/09/0006
    23/08/0006
    24/09/0006
    23/08/0006

    15 rows selected.

    SQL>
    mais malgré ca, une select avec la date ne donne rien, j'arive pas a comprendre, ce qui est bizarre, c'est que j'ai fais le travail chez moi a la maison, connexion (SSH), mais une fois a l'ecole la ou je voulais remettre le travail il ne fonctionne plus, elle s'excute sans erreur et me donne juste procedur called, et mnt elle ne fonctionne ni chiez moi ni a l'ecole.

    et parfois elle me donne invalid month

  6. #6
    Membre à l'essai
    Profil pro
    RSI
    Inscrit en
    Août 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : RSI

    Informations forums :
    Inscription : Août 2002
    Messages : 9
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    L'affichage que vous avez obtenu ne vous choque pas

    Dans votre table la colonne DATEPARTIE contient des dates qui se situent en "0006" ET PAS en "2006".
    Or votre condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND DATEPARTIE >= '23-AUG-06'
    est interprétée par oracle comme "23-AUG-2006", par conséquent la requête ne retourne rien puisque vous n'avez aucune ligne qui correspond dans votre table.

    Est-ce vous qui avez entré les valeurs dans la table "G-PARTIES" ?
    Si oui revoyez votre script d'insertion en utilisant TO_DATE avec un format 'dd/mm/yyyy' ou 'dd-mon-rrrr'.

Discussions similaires

  1. s:iterator tout simple mais ne fonctionne pas
    Par need2learn dans le forum Struts 1
    Réponses: 2
    Dernier message: 31/01/2013, 17h26
  2. Règles iptables : simples, mais ne fonctionnent pas.
    Par TheoOrl45 dans le forum Sécurité
    Réponses: 3
    Dernier message: 05/10/2012, 23h05
  3. Réponses: 1
    Dernier message: 21/12/2009, 11h12
  4. Réponses: 6
    Dernier message: 24/11/2008, 10h53
  5. [AJAX] simple affichage avec Ajax.Request ne fonctionne pas
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/12/2007, 09h35

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