SQL 2008: вставьте XML-значение с помощью обратной косой черты в двойных кавычках - PullRequest
1 голос
/ 14 апреля 2011

Мне нужно вставить XML в столбец таблицы SQL, который выглядит следующим образом:

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

SQL жалуется, что ожидает пробел после двойной кавычки перед U.

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

Я пытался удвоить двойные кавычки и обратную косую черту, но я получаю ту же ошибку.

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

Ваш XML неверен." не допускается в значениях атрибутов, когда вы заключаете значение в ".

. &quot; с *1006*, например,

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

или использование 'чтобы включить значение атрибута

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

Результат в столбце XML в SQL Server одинаков, независимо от того, как вы это делаете.

<date format="ddd MMM dd HH:mm:ss \&quot;UTC\&quot; yyyy"/>
0 голосов
/ 14 апреля 2011

Используйте параметры SQL, чтобы избежать проблем со значениями, которые вы должны вставить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...