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

Bases de données Delphi Discussion :

[interbase][SQL] concatener 2 champs dans le select


Sujet :

Bases de données Delphi

  1. #1
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut [interbase][SQL] concatener 2 champs dans le select
    Bonjour,

    Dans le select sql d'un de mes datasets j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select CU001CUID, CU001CNOM || ' ' || CU001PNOM as NOM
    FROM CUST001
    pour créer un champ contenant à la fois un nom et un prénom.
    Le problème est que si le prénom ou le nom est null alors je n'ai rien du tout qui s'affiche dans le champ 'NOM'.

    Comment je pourrai faire?

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Avec FIREBIRD 1.5, tu peux utiliser "COALESCE(CU001CNOM, '')" pour remplacer un nom null par une chaîne vide. Idem pour le prénom

  3. #3
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Moi c interbase 6 (Open). je testerai lundi voir si ca marche.

  4. #4
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Non, dans les datasets de delphi ca ne passe pas, j'ai 'Function unknown COALESCE', je suppose que ca ne supporte pas. Une autre idée?

  5. #5
    Membre régulier
    Profil pro
    Architecte logiciel
    Inscrit en
    Octobre 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Octobre 2002
    Messages : 64
    Points : 88
    Points
    88
    Par défaut
    ,

    je te propose d'interdire la valeur NULL pour tes champs Nom et Prenom.
    attribut leur une valeur par defaut par expl la chaine vide.

    je crois que cela devrait resoudre ton pb.

    A+.

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Tu peux aussi utiliser une procédure stockée pour générer ton select et ainsi traiter le cas des nulls
    @+

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    regarde si ça marche avec la fonction NVL.
    C'est une fonction sql qui te permet de tester si un champ est nul.

    NVL(ton champ, la valeur renvoyée si ton champ est nul )


    select CU001CUID, NVL(CU001CNOM,'il est nul') || ' ' || NVL(CU001PNOM,'il est nul) as NOM
    FROM CUST001


  8. #8
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Non, NVL c'est unknown aussi

    Et je ne peux pas obliger les clients à mettre quelquechose dans le prénom.
    Par contre le coup des procedures stockées ca m'interresse, ca marche comment?

  9. #9
    Membre régulier
    Profil pro
    Architecte logiciel
    Inscrit en
    Octobre 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Octobre 2002
    Messages : 64
    Points : 88
    Points
    88
    Par défaut
    ,

    jette un coup d'oeil a ce post
    http://www.developpez.net/forums/viewtopic.php?t=169018

    A+.

  10. #10
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Oui, c interressant ça, par contre je sais pas si ca peu m'aider, ni meme comment m'en servir, mais ça c autre chose, je peu chercher... je v regarder ça lundi, meme si je ne pense pas que ce soit la soluce du pb.

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut NZ
    j'avais le meme problem

    je viens de trouver une fonction

    NZ qui ressemble a coalesce

    NZ(sum(valeur),0)

    me donne la somme des valeur mais me renvoie 0 au cas ou la somme est nulle

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/12/2006, 16h41
  2. concatener 2 champs dans une requete
    Par jojo57 dans le forum Access
    Réponses: 4
    Dernier message: 17/05/2006, 16h29
  3. concatener 2 champs dans une table
    Par energies dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2006, 15h24
  4. Réponses: 13
    Dernier message: 20/07/2004, 09h54
  5. [SQL] Renommer un champ dans une requête
    Par martonpylon12 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 15/11/2003, 02h59

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