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 :

Ordre de traitement des opérateurs sur un select


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 109
    Points : 78
    Points
    78
    Par défaut Ordre de traitement des opérateurs sur un select
    Bonjour,

    je suis tombé sur la requete suivante en reprenant du code en PL/SQL sous ORACLE 10 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT	NVL(SUM(ABS(MaColonne)),0)
    FROM MaTable
    WHERE Condition 1
    Sachant que le type de la colonne MaColonne est NUMBER.

    Il m'a semblé alors que ce serait plus juste d'écrire la suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT	SUM(ABS(NVL(MaColonne, 0)))
    FROM MaTable
    WHERE Condition 1
    Or, la première requête marche bien alors que la seconde renvoie systématiquement NULL

    Sachant qu'après reflexion je me suis rendu que dans la table MaTable, il n'y a aucune valeur de MaColonne à NULL, je suis perplexe

    Quelqu'un pourrait il m'expliquer l'erreur de mon raisonnement SVP ???

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 105
    Points : 28 394
    Points
    28 394
    Par défaut
    Ton raisonnement me semble parfaitement correct.
    Sans doute l'une des spécificités de Oracle pour ne pas coller au standard

Discussions similaires

  1. Demande un Logiciel de traitement des graphes sur linux
    Par razouk dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 09/05/2006, 20h45
  2. Ordre de sélection des lignes sur une table DB2
    Par Pierre Formosa dans le forum DB2
    Réponses: 1
    Dernier message: 26/04/2006, 20h03
  3. Réponses: 11
    Dernier message: 13/04/2006, 15h18
  4. [D7]Ordre de traitement des commandes
    Par PBSDev dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2006, 15h05
  5. [XSL] ordre de traitement des apply-templates
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/01/2006, 11h19

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