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

SQL Firebird Discussion :

Concatenation et Espaces


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut Concatenation et Espaces
    Soit deux Champs MODELE CHAR(15) et COULEUR CHAR(3) que je veux concatener pour obtenir ARTICLE . MODELE||'-'||COULEUR

    exemples
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Modele       |Couleur    |la concatenation || me donne    |alors que je voudrais 
    MAESTRO      |001        |MAESTRO      -001               |MAESTRO-001
    MINOU        |001        |MINOU        -001               |MINOU-001     
    MINOU        |002        |MINOU        -002               |MINOU-002
    JASS         |025        |JASS         -025               |JASS-025
    Y-a t'il un autre opérateur de concaténation qui me permet d'oter les espaces ?
    je doit avouer que j'ai un trou , bien sur je peux passer par RTrim mais quand même ce n'est pas prévu ? j'etais persuadé qu'il existait quelque chose du genre &&

    [edit] lol en regardant mon message les espaces disparaissent entre mes colonnes, j'ai donc rajouté une virgule

    [Edit Barbibule] il faut utiliser la balise [#] (code) qui conserve les espaces.

  2. #2
    Membre Expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 052
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 052
    Par défaut
    Bonjour,

    C'est parce-que vous utilisez CHAR. En effet CHAR est une chaine à taille fixe et donc il complète la chaine avec des espaces en fin.

    Contrairement à varchar qui restitue la chaine tel qu'elle a été saisie. C'est a dire sans ajouter des espaces en fin (mais cela ne veux pas dire qu'il n'y en a pas car vous pouvez très bien avoir enregistré volontairement des espaces en fin).

    Donc pour enlever ces espace il vous faudra utiliser Rtrim (dans une UDF). Ou utiliser des varchars.

    Cordialement

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    grand merci . @Barbibulle pour les balises
    j'etais persuadé qu'un opérateur de concatenation && existait mais c'etait avec RAVE
    Bien sur je me suis résigné a utiliser F_RTRIM ce qui donne , pour ceux qui voudrait le savoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CAST(F_RTRIM(MODELE)||'-'||COULEUR AS CHAR(20))
    je me suis apperçu que le CAST avait de l'importance dans mon cas car par la suite j'utilise le résultat pour un ORDER BY

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    pourquoi utiliser une UDF quand on a une fonction interne disponible?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TRIM <left paren> [ [ <trim specification> ] [ <trim character> ]
    FROM ] <value expression> <right paren>
    <trim specification> ::= LEADING | TRAILING | BOTH
    <trim character> ::= <value expression>
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST(TRIM(MODELE)||'-'||COULEUR AS CHAR(20))

  5. #5
    Membre Expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 052
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 052
    Par défaut
    Citation Envoyé par makowski Voir le message
    pourquoi utiliser une UDF quand on a une fonction interne disponible?
    Parce que peut être qu'il utilise fb1.5.

    Sinon sous fb > 2.0 merci makowski

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    2004 février : Firebird 1.5
    2006 novembre : Firebird 2.0
    2008 avril : Firebird 2.1

    autant je peux comprendre que Firebird 2.1 ne soit pas encore très utilisé, mais franchement utiliser encore Firebird 1.5 ... il faut vraiment en vouloir

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

Discussions similaires

  1. Concatener un espace a un tableau
    Par pascaloupsu dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2014, 18h06
  2. concatenation espace non voulu
    Par snopims dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/05/2009, 16h54
  3. concatenation d'un espace
    Par Tyler Durden dans le forum SAS Base
    Réponses: 3
    Dernier message: 27/10/2008, 12h50
  4. concatenation de chaine avec espace
    Par chris81 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 11/01/2008, 16h52
  5. Ajouter un espace dans une concaténation
    Par @rkane dans le forum Access
    Réponses: 1
    Dernier message: 11/07/2006, 11h39

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