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

Langage SQL Discussion :

Problème de SELECT


Sujet :

Langage SQL

  1. #1
    Membre averti
    Profil pro
    Directeur général
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Niger

    Informations professionnelles :
    Activité : Directeur général

    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Par défaut Problème de SELECT
    Bonjour à tous,

    J'ai une table dont certains enregistrements ont un champ vide. Je voudrais faire un select afin de prendre tous les enregistrements pour lesquels ce champ contient des données.

    Typiquement, j'ai lancé ma requete de cette façon :

    SELECT * FROM TBS_FNL WHERE nom_login <>" ";


    et ça ne marche pas.

  2. #2
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    Et avec ca, ca marche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM TBS_FNL WHERE nom_login IS NOT NULL

  3. #3
    Membre averti
    Profil pro
    Directeur général
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Niger

    Informations professionnelles :
    Activité : Directeur général

    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Par défaut
    Ca ne marche pas. Il donne le même résultat qu'un select normal avec les parties vides du champ.

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    on peut avoir qui t'a permis de créer ta table et un exemple d'insertion quand nom_login est vide?

  5. #5
    Membre averti
    Profil pro
    Directeur général
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Niger

    Informations professionnelles :
    Activité : Directeur général

    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Par défaut
    En fait c'est un outil qui moissonne des fichiers de log plats crachés par les applications et les appels client qui sont formatés et insérés dans une base de données.

    NOM_LOGIN n'est pas un ID

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    mais quel est le type de ta colonne nom_login?
    quelle 'valeur' recoit la base de donnée pour dire que c'est vide? (chaine vide, NULL, autre..?)

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 116
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM TBS_FNL WHERE NOT(nom_login='');
    petite variante

  8. #8
    Membre averti
    Profil pro
    Directeur général
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Niger

    Informations professionnelles :
    Activité : Directeur général

    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Par défaut
    ça ne marche toujour pas.

    le champ login est un string.

    Aussi, je dois préciser que la base de données est en Sybase.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Par défaut
    Si la solution de HULK ne marche pas, c'est que ton champ n'est pas null !

    Si tu fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select nom_login, length(nom_login) from TBS_FNL
    Quel est la longueur de nom_login lorsqu'il est censé être null ?

    Si c'est supérieur à 0, il faudrait peut-être essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM TBS_FNL WHERE TRIM(nom_login) <> ''
    (entre cottes ' et non guillemets ", et sans espace entre les 2 évidemment)

  10. #10
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 143
    Par défaut
    Ceinture et bretelles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM tbs_fnl
    WHERE TRIM(nom_login) <> '' 
     AND nom_login IS NOT NULL
    ;
    Citation Envoyé par mabdou Voir le message
    le champ login est un string.
    STRING n'est pas un type de données SQL.
    CHAR ou VARCHAR ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  11. #11
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Bonjour,

    Citation Envoyé par al1_24 Voir le message
    Ceinture et bretelles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM tbs_fnl
    WHERE TRIM(nom_login) <> '' 
     AND nom_login IS NOT NULL
    ;
    NULL étant un marqueur, donc n'étant ni égal ni différent d'aucune valeur :
    Si nom_login (ou TRIM(nom_login)) est différent d'une valeur, alors il est not null, pourquoi ajouter les bretelles ?

  12. #12
    Membre averti
    Profil pro
    Directeur général
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Niger

    Informations professionnelles :
    Activité : Directeur général

    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Par défaut
    Merci pour votre aide.

    Je viens d'essayer quelque chose qui semble avoir marché.

    Voici la requête en question :

    SELECT * FROM TBS_FNL WHERE NOM_LOGIN >= '!'

    le ! d'exclamation est le caractère ascii qui suit directement le ' ' il me semble au lieu de dire <> qu'il va refuser et comme j'ignore le statut du champ NOT NULL ou NULL, il fallait faire comme cela. Meme si ça ne tient pas sur une logique évidente au moins j'ai résolu le probleme pourvu que ça dure.

    Merci quand meme de votre réactivité.

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Par défaut
    Fais ce que tu veux, mais même si ta solution fonctionne sur ton échantillon de données, tu n'as toujours pas élucidé le problème (tu ne sais pas ce que contient ton champ supposé null), donc il risque de te retomber sur le coin de la gueule un de ces 4...

Discussions similaires

  1. Problème de "select" avec des valeurs a null
    Par SchpatziBreizh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2005, 16h08
  2. Problème de select sur une date (DATETIME....)
    Par zeldoi5 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/05/2005, 11h19
  3. [XSL] Petit problème de selection d'un noeud
    Par Greg L. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 25/04/2005, 09h39
  4. Problème avec select top
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 10/12/2004, 14h55
  5. problème DBLookupListBox selection
    Par kardevlop dans le forum Bases de données
    Réponses: 11
    Dernier message: 17/08/2004, 11h53

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