SQL 2008:使用反斜杠 - 双引号组合插入XML值

时间:2021-10-22 10:59:54

I need to insert some xml into a SQL table column that looks like this:

我需要将一些xml插入到SQL表格列中,如下所示:

<date format="ddd MMM dd HH:mm:ss \"UTC\" yyyy" />

SQL complains it is expecting whitespace after the double quote before the U.

SQL抱怨它在U之前的双引号后期待空格。

INSERT INTO foo
(date)
VALUES ('<date format="ddd MMM dd HH:mm:ss \"UTC\" yyyy" />')

I've tried doubling the double quotes and the backslashes, but I get the same error.

我试过加倍双引号和反斜杠,但我得到了同样的错误。

2 个解决方案

#1


2  

Your XML is invalid. " is not allowed in attribute values when you enclose the value with ".

您的XML无效。 “将值括起来时,不允许在属性值中使用”。

Escape the " with &quot; like this

像这样逃避“有”

<date format="ddd MMM dd HH:mm:ss \&quot;UTC\&quot; yyyy" />

Or use ' to enclose the attribute value

或者使用'来包含属性值

<date format='ddd MMM dd HH:mm:ss \"UTC\" yyyy' />

The result in the XML column in SQL Server is the same no matter how you do it.

无论您如何操作,SQL Server中XML列的结果都是相同的。

<date format="ddd MMM dd HH:mm:ss \&quot;UTC\&quot; yyyy"/>

#2


0  

Use SQL parameters to avoid any issues with the values you have to insert

使用SQL参数可以避免必须插入的值出现任何问题

#1


2  

Your XML is invalid. " is not allowed in attribute values when you enclose the value with ".

您的XML无效。 “将值括起来时,不允许在属性值中使用”。

Escape the " with &quot; like this

像这样逃避“有”

<date format="ddd MMM dd HH:mm:ss \&quot;UTC\&quot; yyyy" />

Or use ' to enclose the attribute value

或者使用'来包含属性值

<date format='ddd MMM dd HH:mm:ss \"UTC\" yyyy' />

The result in the XML column in SQL Server is the same no matter how you do it.

无论您如何操作,SQL Server中XML列的结果都是相同的。

<date format="ddd MMM dd HH:mm:ss \&quot;UTC\&quot; yyyy"/>

#2


0  

Use SQL parameters to avoid any issues with the values you have to insert

使用SQL参数可以避免必须插入的值出现任何问题