Механизм xpath в SQL поддерживает функцию contains
, поэтому вы можете сказать:
SELECT
@MyXML.value('(/Students/Student/Node[contains(@Type,"Stream")]/@Value)[1]',
'varchar(100)')
AS ChangedValue
К сожалению, очевидная ends-with()
- это функция xpath 2.0 , и механизм SQL этого не предлагает, поэтому, если вы хотите проверить строку , заканчивающуюся Stream
Вы должны были бы сказать (согласно этому сообщению ):
SELECT
@MyXML.value
('(/Students/Student/Node["Stream"
= substring(@Type, string-length(@Type)-5)]/@Value)[1]',
'varchar(100)')
AS ChangedValue