First post on forum since I am really stuck on this one.
The following query correctly assigns a valid XML document to the @xTempXML variable (of type xml). Note: The length of the document (converted to varchar(max) = 711
select @xTempXML = (
select
PrescriberFirstName as "row/prescriber/name/first",
PrescriberLastName as "row/prescriber/name/last",
PrescriberAddress1 as "row/prescriber/address/line1",
PrescriberAddress2 as "row/prescriber/address/line2",
PrescriberCity as "row/prescriber/address/city",
PrescriberState as "row/prescriber/address/state",
PrescriberZipCode as "row/prescriber/address/zipcode",
PatientFirstName as "row/patient/name/first",
PatientLastName as "row/patient/name/last",
PatientMiddleName as "row/patient/name/middle",
PatientAddress1 as "row/patient/address/line1",
PatientAddress2 as "row/patient/address/line2",
PatientCity as "row/patient/address/city",
PatientState as "row/patient/address/state",
PatientZipCode as "row/patient/address/zipcode",
PatientFileID as "row/patient/fileid",
PatientSSN as "row/patient/ssn",
PatientDOB as "row/patient/dob",
DrugDescription as "row/medicationprescribed/description",
DrugStrength as "row/medicationprescribed/strength",
DrugDEASchedule as "row/medicationprescribed/deaschedule",
DrugQty as "row/medicationprescribed/qty",
DrugDirections as "row/medicationprescribed/directions",
DrugFormCode as "row/medicationprescribed/form",
DrugDateWritten as "row/medicationprescribed/writtendate",
DrugEffectiveDate as "row/medicationprescribed/effectivedate",
DrugRefillQty as "row/medicationprescribed/refill/qty",
DrugRefillQtyQualifier as "row/medicationprescribed/refill/qualifier",
DrugNote as "row/medicationprescribed/note",
PharmacyStoreName as "row/pharmacy/storename",
PharmacyIdentification as "row/pharmacy/identification",
PharmacyAddress1 as "row/pharmacy/address/line1",
PharmacyAddress2 as "row/pharmacy/address/line2",
PharmacyCity as "row/pharmacy/address/city",
pharmacyState as "row/pharmacy/address/state",
pharmacyZipCode as "row/pharmacy/address/zipcode"
from
Rxarchive
where ArchiveUUID=@ArchiveRefUUID
and CreatedDT between @RptParamStartDT and @RptParamStopDT
and CHARINDEX(',' + PrescriberFID + ',', ',' + @RptParamFID + ',') > 0
FOR XML PATH(''), ROOT('result'), TYPE
)
declare @sXMLVersion varchar(max) = '<?xml version="1.0" encoding="utf-8"?>'
select len(@sXMLVersion + convert(varchar(max),@xTempXML))
Note: The length of the concatenated strings = 749, which is correct.
set @xFinalXML = convert(xml,(@sXMLVersion + CAST(@xTempXML as varchar(max))))
select LEN(convert(varchar(max),@xFinalXML))
Note: The length of this variable is back to 711!
select @xFinalXML
The variable is still a valid XML document, just no version info
What am I doing wrong?
Any and all help greatly appreciated!