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

PL/SQL Oracle Discussion :

CASE et test sur valeur "null"


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Février 2014
    Messages : 107
    Par défaut CASE et test sur valeur "null"
    bonjour
    dans une requête select pour Sage x3, composée de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Case
    	When SIH.SIVTYP_0='AVO' then SID.BPCINV_0
    	When SIH.SIVTYP_0<>'AVO' and SDH.BPCORD_0 is null then SID.BPCINV_0
    	When SIH.SIVTYP_0<>'AVO' and SDH.BPCORD_0 is not null then SDH.BPCORD_0
    end,
    je ne risque pas d'avoir de ratés avec le test sur la valeur "null" dans le case ? pas de soucis en employant cette méthode pour afficher tel ou tel champ dans mon résultat ?
    je n'ai jamais utilisé case pour afficher un autre champ, toujours du texte
    merci

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Bein non aucun souci, tu peux le tester avec un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT a, b, c,
    CASE 	WHEN a='AVO' THEN b
    	WHEN a <>'AVO' AND b IS NULL THEN c
    	WHEN a <>'AVO' AND b IS NOT NULL THEN c
    END lecase
    FROM (SELECT 'AVO' a, 1 b, 2 c FROM dual 
    UNION ALL SELECT 'FAC' a, NULL b, 3 c FROM dual
    UNION ALL SELECT 'FAC' a, 1 b, 4 c FROM dual)
    résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A	B	C	LECASE
    AVO	1	2	1
    FAC		3	3
    FAC	1	4	4

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Février 2014
    Messages : 107
    Par défaut
    merci de ta réponse
    du coup le case peut être utilisé sans soucis pour afficher des champs de tables différentes avec jointures dans un select
    et selon les conditions précédemment inscrites
    si en plus le "null" est accepté, ça facilitera les choses

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

Discussions similaires

  1. [xpath] test sur valeur d'un noeud
    Par lusitano11 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/12/2008, 16h28
  2. [2007]Test sur valeur de application.currentuser
    Par tAKAmAkA dans le forum VBA Access
    Réponses: 0
    Dernier message: 17/01/2008, 20h52
  3. Transact-SQL test sur valeur NULL
    Par samworld dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/08/2007, 23h11
  4. Test sur valeur d'un Hash
    Par aikinhdo dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2007, 08h38
  5. [vba-access] Test sur valeur des champs puis publipostage
    Par realthunderbolt dans le forum Access
    Réponses: 1
    Dernier message: 01/08/2006, 16h38

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