Объединение 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 |
+-----------+------------------+------------------------+