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 :

Syntaxe SQL retirer Null et vide


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut Syntaxe SQL retirer Null et vide
    Salut tout le monde, voici une requête SQL qui filtre les valeurs nulles et les valeurs vides (pas nulles mais pas de caractère ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
    	TABLE.FAMILLE AS FAMILLE_0, 
    FROM 
    	TABLE 
    WHERE 
    	( (TABLE.FAMILLE IS NOT NULL
     AND 
    	TABLE.FAMILLE NOT IN ('')) )
    Mais avec cette requête, Oracle ne retourne aucun enregistrement, alors qu'il y en a bien dans la table qui sont ni nulls ni vides.

    Si on retire le second test, on a cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
    	TABLE.FAMILLE AS FAMILLE_0, 
    FROM 
    	TABLE 
    WHERE 
    	( TABLE.FAMILLE IS NOT NULL )
    Oracle retourne bien tous les enregistrements non nulls.

    Quelle est la bonne syntaxe pour arriver à retirer les nulls et les vides ?
    Merci.

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Sous Oracle null et vide c'est la même chose.

  3. #3
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut
    Ok merci, donc je peux juste retirer le IS NOT NULL et laisser le test NOT IN ('') ?
    Ca me simplierait la vie, je dois générer la requête automatiquement, et elle doit marcher pour toutes les bases de données, je dois gérer le cas Oracle en particulier.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    attention, je crains que ça dépende de la version

  5. #5
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Non le seul test valable est is not null

    La valeur null est égale à rien :
    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
    18
    19
    20
    21
    22
    23
    SQL> select 1 from dual where '' = '';
    no rows selected
     
    SQL> select 1 from dual where '' is null;
            1
    ---------
            1
     
    SQL> select 1 from dual where null is null;
            1
    ---------
            1
     
    SQL> select 1 from dual where 'a' != '';
    no rows selected
     
    SQL> select 1 from dual where 'a' is not null;
            1
    ---------
            1
     
    SQL> select 1 from dual where 'a' != null;
    no rows selected

  6. #6
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut
    J'ai bien fait de poser la question. Je vais devoir changer mon code, j'avais déjà intégré pour retirer le IS NOT NULL.

    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/02/2007, 16h22
  2. Pb de syntaxe sql : Sélection SELECT FROM WHERE vide
    Par oceanediana dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 31/07/2006, 15h54
  3. Pb configuration et syntaxe SQL
    Par Glloq dans le forum Débuter
    Réponses: 2
    Dernier message: 09/09/2004, 15h17
  4. syntax sql spéciale pour postgresql ???
    Par krimson dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 05/05/2004, 15h23
  5. requete syntaxe sql
    Par tomm dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/04/2004, 16h56

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