#sql #sql-server #xml #tsql #serialization
#sql #sql-сервер #xml #tsql #сериализация
Вопрос:
В моей базе данных Microsoft SQL Server 2005 у меня есть данные в столбце WorkingDays
, подобные :
<WorkingDays>
<Day>2011-05-05</Day>
<Day>2011-05-06</Day>
</WorkingDays>
Как десериализовать их в запросе T-SQL для DateTime
форматирования?
Ответ №1:
Попробуйте что-то вроде этого:
DECLARE @TEST TABLE(ID INT IDENTITY, XmlContent XML)
INSERT INTO @TEST(XmlContent) VALUES('<WorkingDays>
<Day>2011-05-05</Day>
<Day>2011-05-06</Day>
</WorkingDays>')
SELECT
ID,
WD.DAYS.value('(.)[1]', 'datetime') AS 'Day'
FROM
@TEST
CROSS APPLY
XmlContent.nodes('/WorkingDays/Day') AS WD(Days)
Это дает мне вывод:
ID Day
1 2011-05-05 00:00:00.000
1 2011-05-06 00:00:00.000