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 :

Clause WHERE qui ne s'exécute pas ..


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut Clause WHERE qui ne s'exécute pas ..
    Bonjour,

    j'ai un problème que je n'explique pas du tout et que je trouve assez bizarre !!!
    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select  
    DISTINCT TO_CHAR(ODS.ZY5L_DATALE,'YYYY')
    from IHR.ODS_ZY5L   ODS
    where (1=1)
    And (TO_CHAR(ODS.ZY5L_DATALE,'YYYY') = '2007')
    Et voici les résultats :

    2005
    2099
    2007
    2006
    2008
    2009
    2999

    Bizarre non ? Quelqu'un a-t-il une idée ?

    Merci d'avance.

    Bizoo

  2. #2
    Membre actif
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Points : 289
    Points
    289
    Par défaut


    J'ai essayé sur ma base oracle exactement le même genre de requête et les résultats sont bien filtrés...

    Tu es en quelle version oracle ?

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Oracle 10 ...
    sur ma base de REC pareil ...
    pourtant d'autres requêtes avec des clauses WHERE avant ou après dans mes traitements sont corrects !!!

  4. #4
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    Citation Envoyé par Bizoo Voir le message
    Bonjour,

    j'ai un problème que je n'explique pas du tout et que je trouve assez bizarre !!!
    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select  
    DISTINCT TO_CHAR(ODS.ZY5L_DATALE,'YYYY')
    from IHR.ODS_ZY5L   ODS
    where (1=1)
    And (TO_CHAR(ODS.ZY5L_DATALE,'YYYY') = '2007')
    Et voici les résultats :

    2005
    2099
    2007
    2006
    2008
    2009
    2999

    Bizarre non ? Quelqu'un a-t-il une idée ?

    Merci d'avance.

    Bizoo

    Salut,

    J'ai exécuté ta requête,et elle m'a donné le bon résultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    SQL> WITH ods_zy5l AS
      2       (SELECT TO_DATE ('2008-01-05', 'yyyy-mm-dd') zy5l_datale
      3          FROM DUAL
      4        UNION ALL
      5        SELECT TO_DATE ('2007-01-05', 'yyyy-mm-dd')
      6          FROM DUAL
      7        UNION ALL
      8        SELECT TO_DATE ('2006-01-05', 'yyyy-mm-dd')
      9          FROM DUAL
     10        UNION ALL
     11        SELECT TO_DATE ('2005-01-05', 'yyyy-mm-dd')
     12          FROM DUAL)
     13  SELECT DISTINCT TO_CHAR (ods.zy5l_datale, 'YYYY')
     14             FROM ods_zy5l ods
     15            WHERE (1 = 1) AND (TO_CHAR (ods.zy5l_datale, 'YYYY') = '2007');
     
    TO_C
    ----
    2007
     
    SQL> select * from v$version;
     
    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for Linux: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
     
    SQL>
    La condition 1=1 ne change rien à ta requête.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 207
    Points : 237
    Points
    237
    Par défaut
    Bonjour,

    Est ce que par hasard le RLS (Row Level Security) ne serait pas activé et viendrait inclure une condition de type "OR "qui rendrait ce résultat possible.
    Laurent

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 167
    Points
    167
    Par défaut
    Peux tu nous dire depuis quel client est executée la requete ?

    As tu des sauts de lignes au milieu de ta requête que tu aurais supprimés lors de l'écriture de ton message ?

Discussions similaires

  1. Clause WHERE qui ne fonctionne pas
    Par Le Serval dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/08/2012, 09h33
  2. [ZF 1.10] Clause where qui fonctionne avec type int mais pas avec type String
    Par shadypierre dans le forum Zend_Db
    Réponses: 5
    Dernier message: 30/04/2010, 13h00
  3. Clause WHERE qui ne fonctionne pas
    Par philippef dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/05/2008, 12h40
  4. probleme de requete mysql qui ne s'exécute pas
    Par anto48_4 dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/03/2006, 10h51
  5. [MySQL] requete sql qui ne s'exécute pas
    Par anto48_4 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 16/03/2006, 09h12

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