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 :

Différence entre chaine vide et chaine nulle


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 136
    Points : 112
    Points
    112
    Par défaut Différence entre chaine vide et chaine nulle
    Bonjour,

    j'ai du mal à saisir la différence entre une chaine vide et une chaine nulle en pl/sql.

    => chaine IS NULL renvoie true

    => chaine IS NULL renvoie true,
    chaine = '' renvoie false

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine1 := '', chaine2 := ''
    => chaine1 = chaine2 renvoie false

    Est-ce que quelqu'un peut me confirmer qu'effectivement, une chaine vide est considérée comme null, ou peut m'indiquer si le problème est plus complexe?

    Si c'est bien le cas, existe-t-il une fonction toute faite pour tester si deux chaines sont égales, et qui renverra TRUE si les deux sont vides? ou est-ce qu'il faut écrire nous-mêmes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (chaine1 IS NULL AND chaine2 IS NULL) OR chaine1 = chaine2

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Effectivement, la notion de "vide" avec Oracle est équivalent à NULL, et les seuls opérateurs utilisables sur les valeurs NULL sont IS NULL ou IS NOT NULL.

    Vous pouvez utiliser NVL() par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Nvl(ch1,'^') <> Nvl(ch2,'^') Then ...
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 136
    Points : 112
    Points
    112
    Par défaut
    Merci

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

Discussions similaires

  1. [AC-2007] chaine vide autorisée ou null interdit
    Par sylv20 dans le forum Modélisation
    Réponses: 12
    Dernier message: 01/06/2016, 16h11
  2. [2008R2] Traitement des chaines vides et des null
    Par nlievain dans le forum SSIS
    Réponses: 1
    Dernier message: 29/10/2012, 16h34
  3. [WD12] Clé unique de type chaine acceptant une chaine vide
    Par zouzoukha dans le forum WinDev
    Réponses: 7
    Dernier message: 27/08/2010, 09h06
  4. Mysql->Oracle - Chaine vide et valeurs nulle
    Par spidetra dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 06/09/2009, 16h41
  5. Différence NULL et chaine vide
    Par bruce-willis dans le forum Débuter
    Réponses: 13
    Dernier message: 01/09/2008, 17h52

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