Если кто-нибудь может помочь, это было бы здорово, потому что я потратил несколько часов и не знаю, как это исправить ...
У меня есть один существующий код (насколько я понимаю, он пытается прочитать XML из поля таблицы dbo):
with usluga_list as (
--EvnUslugaList
)
select top 1
cast(doc.EvnXml_Data.query('data/@XmlDataSection_SysNick/text()') as nvarchar(max)) as value
from
usluga_list u
cross apply (
select top 1 *
from v_EvnXml with(nolock)
where u.EvnUsluga_id = Evn_id
order by EvnXml_insDT desc
) doc
order by
EvnXml_insDT --SqlOrderType_SysNick
При запуске этого кода я получаю следующую ошибку:
Номер ошибки: 42000/2377 [Microsoft] [ODB C Драйвер 17 для SQL Server] [SQL Server] XQuery [do c .EvnXml_Data.query ()]: результат выражения 'text ()' статически 'пуст'
Ошибка выдает сниппет:
doc.EvnXml_Data.query('data/@XmlDataSection_SysNick/text()')
, но как это предотвратить или проверить на null и вывести другое значение, я не знаю.
Нужен SQL гуру серверов!