Это кажется очень простым, но я не смог найти пример, который работает для меня, поэтому я буду благодарен за любые советы.SQL Server 2012 - Как извлечь значение из строки XML?
У меня есть функция сервера SQL, который определяет различные сроки на основе нашего финансового года и сегодняшнего дня, и возвращает одну строку, которая выглядит как ... <row LastDayPrevMonth="2015-04-30T00:00:00" LastDayPrevMonthLY="2014-04-30T00:00:00" ... />
В хранимая процедура, которая вызывает эту функцию, я ve done ...
DECLARE @X XML
SET @X = dbo.GetFiscalYearDates()
... но тогда я не могу извлечь значение LastDayPrevMonth.
Я попытался десятки вариаций этого: SELECT ROW.ITEM.VALUE('LastDayPrevMonth', 'VARCHAR(30)')[1] AS Foo FROM @x.nodes('row/item')
... иногда с «AS Bar» в конце ...
Этот конкретный синтаксис дает ошибку «неверный синтаксис около keywork«, как », но любые трюки, которые я делаю, не помогают.
Спасибо за помощь, парни!
спасибо. –
Я ценю это granadaCoder; Я не могу проголосовать за вас, потому что у меня нет 15 очков. Для будущих читателей функция, которая возвращает XML, должна иметь предложение в конце: ... FOR XML RAW, ROOT ('root'), чтобы получить там корневой узел. –