各个行的数据用特殊字符拼接(sqlserver)

select 
    stuff(
        (
            SELECT 
            CHAR(38)+t.dep + '-' +t.arr
            FROM [t_direct_airline_limit] t where (1=1) and t.valid='Y'  order by t.id
            FOR XML PATH(''),TYPE
        ).value('.','NVARCHAR(MAX)')
        ,1
        ,1
        ,''
    )

stuff(str,1,1,'') 将str第一个位置开始的1个字符用空串替换

char(38) = &

select char(38)+t.dep+'-'+t.arr from 表 for xml path('') 拼接成xml &amps;XXX-YYY&amps;XXX-YYY,注意这里&特殊字符会被转义&amps;

(...for xml path(''),type).value('.','NVARCHAR(MAX)')  特殊字符原样输出,&不会显示成&amps;

附特殊字符数字定义:

 

posted @ 2018-09-29 14:45  稚语希听  阅读(1323)  评论(0)    收藏  举报