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

PostgreSQL Discussion :

Problème de concaténation


Sujet :

PostgreSQL

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème de concaténation
    Salut,
    J'ai un problème avec une requête qui doit me concatener deux chaines dont une qui peut etre NULL. J'ai tenté plusieurs choses mais je n'arrive pas a trouver de solution. V'là ma requête originale:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select iddossier, (diametre1 || '/' || diametre2) as diametre from t_tabbran where iddossier = 2492;
    et quoiqu'il arrive, diametre me renvoie NULL (pas une chaine vide, ou un espace mais bien NULL). avec un COALESC idem:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select (diametre1 || '/' || COALESCE(diametre2)) as diametre from t_tabbran where iddossier = 2492;
    J'ai tenté de tester si diametre2 est NULL et de le remplacer par ' ' dans une proc stock, même résultat:
    requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select (f_concat(to_char(diametre1,'9999'),to_char(diametre2,'9999'))) as diametre from t_tabbran where iddossier = 2492;
    fonction:
    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
    CREATE OR REPLACE FUNCTION drab.f_concat(varchar, varchar)
      RETURNS varchar AS
    'DECLARE
     
    	v_chaine varchar;
    BEGIN
     
    	--Concaténation des deux chaines
    	IF ($2 IS NOT NULL) THEN
    	v_chaine := $1 || \'/\' || $2;
    	ELSE
    	v_chaine := $1;
    	END IF;
    	return v_chaine;
    END
    '
      LANGUAGE 'plpgsql' IMMUTABLE STRICT;
    j'ai surement du merder quelque part sinon ca marcherait mais la je vois plus rien j'ai envie de tout casser . toute aide est la bienvenue.

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Voilà, j'ai trouvé la solution comme un grand garçon (bon on m'a un peu aidé :p)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select (COALESCE(to_char(diametre1,'9999'),'') || '/' || COALESCE(to_char(diametre2,'9999'),'')) as diametre from t_tabbran where iddossier = 2492;
    Vive moi ^^

Discussions similaires

  1. Problème de concaténation dans DB
    Par BnA dans le forum SGBD
    Réponses: 3
    Dernier message: 11/05/2006, 14h38
  2. Problème de concaténation / conversion
    Par ero-sennin dans le forum C
    Réponses: 5
    Dernier message: 21/03/2006, 11h06
  3. [Tableaux] problème syntaxe concaténation variable
    Par mussara dans le forum Langage
    Réponses: 3
    Dernier message: 01/03/2006, 11h24
  4. Problème de concaténation sous EXCEL
    Par ikki78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/11/2005, 17h17
  5. [Tableaux] problème de concaténation
    Par ludovik dans le forum Langage
    Réponses: 3
    Dernier message: 13/09/2005, 13h24

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