powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не могу получить значение из XML
3 сообщений из 3, страница 1 из 1
Не могу получить значение из XML
    #39939546
SPolyakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица, где в одной из колонок хранятся настройки в виде XML. Мне нужно получить значение <Timeout type="Type3">19.09.2016 0:05:00</Timeout>, а именно только минуты и секунды. Вот весь XML:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ObjectSerialization>
<!--Persistent object serialization-->
<Root>
   <ComponentType type="Type0" />
   <ConsiderDuration type="Type1">False</ConsiderDuration>
   <ConsiderDurationEmptySlot type="Type1">False</ConsiderDurationEmptySlot>
   <Enabled type="Type1">False</Enabled>
   <ExternalRecordType type="Type2">Hard</ExternalRecordType>
   <SiteEnabled type="Type1">False</SiteEnabled>
   <Timeout type="Type3">19.09.2016 0:05:00</Timeout>
   <UsedTypes>
      <Type0 type="Kosta.PersistentObjects.SystemProperty.AppointmentProperty, Kosta.PersistentObjects" />
      <Type2 type="Kosta.PersistentObjects.SystemProperty.ExternalRecordType, Kosta.PersistentObjects" />
      <Type1 type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <Type3 type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   </UsedTypes>
</Root>



Для начала я пытаюсь получить значение в Timeout следующим образом

Код: sql
1.
2.
3.
4.
declare @info xml
set @info = Convert(xml,(select [Value] FROM [SystemPropertyStorage] where Name = 48),2)
select b.value('@Timeout', 'DateTime') as FullDate
from @info.nodes('/Root/Timeout') as a(b)



Но возвращается NULL

Что здесь не так ?
...
Рейтинг: 0 / 0
Не могу получить значение из XML
    #39939578
Serп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SPolyakov,
Код: sql
1.
2.
select convert(datetime,b.value('(Timeout)[1]', 'varchar(20)'),104) as FullDate
from @info.nodes('/Root') as a(b)
...
Рейтинг: 0 / 0
Не могу получить значение из XML
    #39939592
SPolyakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serп,

Благодарю, сработало !
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не могу получить значение из XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]