Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12

Looping through a data set and combining values Expand / Collapse
Author
Message
Posted Friday, October 5, 2012 2:46 PM
SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: General Forum Members
Last Login: Tuesday, March 25, 2014 3:52 PM
Points: 27, Visits: 153
Just discovered a new problem, and I cant get round it. The data is now getting XML encoded < to < and > to > etc

Any ideas?
Post #1369315
Posted Friday, October 5, 2012 3:12 PM
Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Today @ 11:02 AM
Points: 1,173, Visits: 1,971
do a replace around it. Each character will be XML encoded and you can simply replace it back.
Post #1369324
Posted Friday, October 5, 2012 4:44 PM


SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Today @ 4:21 PM
Points: 1,963, Visits: 6,591
oscarooko (10/5/2012)
Just discovered a new problem, and I cant get round it. The data is now getting XML encoded < to < and > to > etc

Any ideas?


You need to apply a root node to the XML, force it into XML datatype and then select out the text from the root node....like this:


declare @Table1 table (EmailAddress varchar(20), Msg varchar(20))
insert @Table1
select 'email1','blue'
union select 'email2','black'
union select 'email1','&white'
union select 'email1','<orange'
union select 'email4','red'

select e.EmailAddress as Email
,stuff((select ',' + t.Msg
from @Table1 t where t.EmailAddress = e.EmailAddress
for xml path(''),root('a'),type).value('(a/text())[1]','varchar(4000)'),1,1,'') as MessageBody
from @Table1 e
group by e.EmailAddress


The change is this line:

for xml path(''),root('a'),type).value('(a/text())[1]','varchar(4000)'),1,1,'')   as MessageBody

Where I added

,root('a'),type

to the FOR XML PATH('')

and

.value('(a/text())[1]','varchar(4000)')

to pull the text out again...


MM


select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);


  • Forum Etiquette: How to post Reporting Services problems
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • How to Post Performance Problems - by Gail Shaw
  • Post #1369344
    « Prev Topic | Next Topic »

    Add to briefcase ««12

    Permissions Expand / Collapse