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

Oracle Discussion :

comparaison entre chaines de caracteres


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut comparaison entre chaines de caracteres
    Soit le bout de code suivant :
    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
     
                DBMS_OUTPUT.put_line ('---');
                DBMS_OUTPUT.put_line ('cjucode : ' || record_kasiop.clpcjucode);
     
                IF (record_kasiop.clpcjucode = '')
                THEN
                   DBMS_OUTPUT.put_line ('= VRAI');
                ELSE
                   DBMS_OUTPUT.put_line ('= FAUX');
                END IF;
     
                IF (record_kasiop.clpcjucode <> '')
                THEN
                   DBMS_OUTPUT.put_line ('<> VRAI');
                ELSE
                   DBMS_OUTPUT.put_line ('<> FAUX');
                END IF;
    et le résultat suivant
    ---
    cjucode : 5710
    = FAUX
    <> FAUX
    Je ne comprends rien, il doit y avoir une subtilité (ou peut-être pas si subtile...) des opération sur les chaines de caractères que je ne connais pas.
    Pour info, dans la section declare
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
          record_kasiop   tmp_clipreneurb2%ROWTYPE;
    et le script de créationd e la table en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE TABLE TMP_CLIPRENEURB2
    (
      ACTCODE         VARCHAR2(15),
      CLPCJUCODE      VARCHAR2(7),
      CLPNAFCODE      VARCHAR2(7),
      CLPEFFECTIF     NUMBER(7),
      CLPANNEXERCICE  NUMBER(4),
      CLPCA           NUMBER(15,2),
      CLPCACONSO      NUMBER(15,2),
      CLPANO          VARCHAR2(100),
      FLAGTRT         VARCHAR2(3)
    )
    merci d'avance.

  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
    ='' ou <>'' ne veut rien dire.

    pour tester une valeur null il faut utiliser les operateur IS NULL ou IS NOT NULL

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Donc il n'y a aucune différence entre la chaine vide et la chaine non définie ?
    Ok, je le saurais...

    Merci bien, ça fait une épine dans le pied de moins - et une demi douzaine de script à reprendre :-)

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

Discussions similaires

  1. Recherche API indiquant differences entre chaines de caracteres
    Par julseb2007 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 14/08/2007, 15h24
  2. [VBA/EXCEL]comparaison de chaine de caractere avec ou sans espace
    Par rodrigue62 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/07/2007, 11h48
  3. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 16h32
  4. comparaison de chaines de caracteres en PLSQL
    Par biozaxx dans le forum PL/SQL
    Réponses: 3
    Dernier message: 19/08/2004, 10h41
  5. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 23h41

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