2012-06-04 3 views
2

J'essaye de construire la chaîne avec la virgule mais j'obtiens plus d'espace. Comment puis-je supprimer l'espace supplémentaire entre le code postal et le nom de pays? Voici ma chaîne. Merci pour toute suggestion.Chaîne Concaténation avec virgule

SELECT 
    (COALESCE(address + ', ', '') + 
    COALESCE(city + ', ', '') + 
    COALESCE(state_code + ' ', '') + 
    COALESCE(zipcode + ' ', '') + 
    COALESCE(country_name + '', '')) address 
from table1 
where a_id = 2 

Voici le résultat:

tewt, test ct, DE 4444     United States 
+2

Quel est le type de données de ZipCode? –

+0

le type de code postal est varchar (20) – nav100

Répondre

1

Vous pouvez utiliser la fonction RTRIM qui supprime l'espace blanc du côté droit de la variable. Vérifiez également LTRIM pour les cas gauches.

0

Je changerais la datatape de colonne de table en varchar (x) de char (x) ou à nvarchar (x) de nchar (x). Et changez les données pour qu'elles ne contiennent pas d'espaces. Il suffit de le faire une fois et de faire des changements pour que l'application ne stocke plus d'espaces blancs. Char (x) et nchar (x) je voudrais utiliser juste quand il y a des chaînes de longueur fixe, mais cela ne semble pas être le cas.