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 :

ORACLE 9i - Une condition dans un decode ?


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 213
    Par défaut ORACLE 9i - Une condition dans un decode ?
    Bonjour,

    est-ce possible de mettre un test de type a < b dans un decode sous oracle 9i.

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from table where champs = decode(date1 < date2, champA, champB)
    sinon est-ce qu'il y a une alternative pour arriver au résultat voulu ?

    Merci de votre aide !!

    Sai

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Non le decode reste sur des égalité.

    Vous pouvez soit vous moderniser et utiliser CASE (supporté depuis Oracle8) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    case when date1 < date2 then champA else champB end
    Soit contourner la limitation avec une soustraction par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    decode(sign(date1 - date2), -1, champA, champB)

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 213
    Par défaut
    merci à toi j'ai essayé avec le case c'est parfait.
    Par contre je n'ai pas bien compris avec la soustraction je vais lire un peu la doc sur le "sign"


  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Par défaut
    sign(nombre) renvoie 1 si le nombre est positif, -1 s'il est négatif, 0 s'il vaut 0.

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

Discussions similaires

  1. [Oracle] formater une donnée dans une requête
    Par elkhy dans le forum Langage SQL
    Réponses: 5
    Dernier message: 10/08/2006, 22h05
  2. mettre une condition dans l'ajout de données
    Par ash_rmy dans le forum Access
    Réponses: 2
    Dernier message: 27/07/2006, 13h29
  3. Affichage selon une condition dans un DBGRID !
    Par obon dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/04/2006, 09h26
  4. Peut on insérer une condition dans une requête ?
    Par MITCH31 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 22/09/2005, 18h26
  5. Introduire une condition dans une requete
    Par DeezerD dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/10/2004, 18h13

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