Объединение 2 преобразованных текстовых полей

Изо всех сил пытается соединить два текстовых поля

,RTRIM(LTRIM(REPLACE(IM.ITEMDESC,',',''))) AS ITEMDESCR
,RTRIM(LTRIM(ISNULL(REPLACE(REPLACE(convert(varchar(MAX),[TXTFIELD]), 
CHAR(13),' '),',',''),''))) AS EXTRADESCRIPTION

Пришлось убрать возврат каретки на второй строке - пробовали Concat и +, но ни один не работает. Также есть нулевые значения во второй строке, поэтому, если нулевое значение, хотите отображать только первую строку.

1 ответ

create table im (id int not null identity(1,1), itemdesc varchar(64), txtfield text)
insert into im values 
 ('Pencil','Writing utensil')
,('Pen',null)
,(null,'Writing utensil')

select
    rtrim(ltrim(replace(im.itemdesc,',',''))) as itemdescr 
  , rtrim(ltrim(isnull(replace(replace(convert(varchar(max),txtfield), char(13),' '),',',''),''))) as extradescription
  , isnull(rtrim(ltrim(replace(im.itemdesc,',','')))+' ','')
  + isnull(rtrim(ltrim(replace(replace(convert(varchar(max),txtfield), char(13),' '),',',''))),'')
    as combined_description
from im

демонстрационный ролик: http://rextester.com/YQDARN44856

возвращает:

+-----------+------------------+------------------------+
| itemdescr | extradescription |  combined_description  |
+-----------+------------------+------------------------+
| Pencil    | Writing utensil  | Pencil Writing utensil |
| Pen       |                  | Pen                    |
| NULL      | Writing utensil  | Writing utensil        |
+-----------+------------------+------------------------+
Другие вопросы по тегам