2017-05-06 43 views
1

奋力将两个文本字段拼接2转换文本字段

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

不得不删除第二行回车 - 是否尝试过的毗连和+但也正在努力。在第二行也有空值,因此如果空值只想显示第一行。

+0

SQL Server或MySQL的? –

+0

SQL Server。感谢 –

回答

0
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 

rextester演示:http://rextester.com/YQDARN44856

回报:

+-----------+------------------+------------------------+ 
| itemdescr | extradescription | combined_description | 
+-----------+------------------+------------------------+ 
| Pencil | Writing utensil | Pencil Writing utensil | 
| Pen  |     | Pen     | 
| NULL  | Writing utensil | Writing utensil  | 
+-----------+------------------+------------------------+ 
+0

谢谢 ,ISNULL(RTRIM(LTRIM(更换(im.itemdesc, '', '')))+””, '')+ ISNULL(RTRIM(LTRIM(更换(更换(转换(VARCHAR(最大),txtfield),CHAR(13), ' '),' '' '))),'') 作为combined_description 伟大的工作:) –

+0

@Jamiehampson乐意提供帮助! – SqlZim