SQL Server 2008 R2SQL Server Удалить двойные кавычки
Я создаю файл XML из SQL Server и один столбец вызывает у меня проблемы из-за "внутри VARCHAR.
XML-выглядит следующим образом после того, как экспорт,
<variantValue name="marketingInfo" value="random text.

 random text.

"random text""/>
который, конечно, разбивает файл XML.
оказалось, я перепутал "за» (U + 201D ПРАВОЙ DOUBLE КАВЫЧКА), который почему repla ce не работает. Она тем не менее по-прежнему экспортировать в обычный "в XML.
Как вы справляетесь с текстовыми полями при экспорте из SQL в XML, чтобы избежать каких-либо символов, которые могут разорвать XML?
процедура SQL выглядит примерно так это,
declare @pricat xml
set @Pricat = (
--Pricat HEAD
select ..some attributes
--Pricat ROWS
,(select ..sone attributes
-- PriceBracket 1 (PRE)
,(select ..some attributes
for xml path ('priceBracket'), type)
-- PriceBracket 2 (Supp)
,(select ..some attributes
for xml path ('priceBracket'), type)
-- VariantValue 01
,(select ..some attributes
for xml path ('variantValue'), type)
-- VariantValue 02
,(select ..some attributes
for xml path ('variantValue'), type)
for xml path ('sprProduct'), type)
from prh
FOR XML PATH ('Pricat')
)
-- Not sure if this is a good way to add verion and encoding tag.
--select '<?xml version="1.0" encoding="ISO-8859-1"?>' + cast(@Pricat as varchar(max)) as xml
select @b24Pricat
XML файл создается, как показано ниже,
declare @filename varchar(100)
declare @cmd varchar(256)
declare @date datetime
set @date = getdate()
set @filename = cast(datepart(year,@date) as varchar)+cast(LEFT(CONVERT(CHAR(20), @date, 101), 2) as varchar)+cast(datepart(day,@date) as varchar)
set @filename = @filename + '_' + cast(datepart(minute,@date) as varchar)+ cast(datepart(second,@date) as varchar)
set @filename = 'blabla_' + @filename + '.xml'
-- -C 28591
set @cmd = 'bcp "exec db..procedure 1,2,3,4" queryout "c:\export\'+ @filename +'" -T -c -C 28591'
EXEC xp_cmdshell @cmd
вы можете отметить SQL для создания XML- – ughai
Его большой, и мне нужно, чтобы изменить его много, прежде чем я могу разместить его. С простым выбором в текстовом столбце я получаю такую же проблему, поэтому я не думаю, что проблема с двойными кавычками связана с xml. – fish
Sql автоматически ускользает символы при использовании операции XML, как показано ниже _DECLARE @s VARCHAR (10) = 'SDF "аа '; SELECT @s '@s' FOR XML PATH (' F') _ – ughai