2012-06-04 3 views
2

Я пытаюсь построить строку с запятой, но я получаю дополнительное пространство. Как удалить лишнее пространство между zipcode и country_name? Вот моя строка. Спасибо за любое предложение.Строка Конкатенация с запятой

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

Вот результат:

tewt, test ct, DE 4444     United States 
+2

Каков тип данных ZipCode? –

+0

Тип данных zipcode - varchar (20) – nav100

ответ

1

Вы можете использовать функцию RTRIM, которая удалить пробельные с правой стороны от переменной. Проверьте также LTRIM для левых случаев.

0

Я бы заменил datatape столбца таблицы на varchar (x) из char (x) или nvarchar (x) из nchar (x). И измените данные, чтобы они не содержали пробелы. Просто нужно сделать это один раз и внести изменения, чтобы приложение больше не хранили белые пробелы.

char (x) и nchar (x), который я использовал бы, когда строки фиксированной длины, но это, похоже, не так.

Смежные вопросы