возможно ли выполнить запрос SQL с предложением XPath "where" и обрезать конечные пробелы перед сравнением?
У меня есть столбец SQL XML, в котором у меня есть узлы XML с атрибутами, которые содержат конечные пробелы. Я хотел бы найти заданную запись, которая имеет указанное значение атрибута - без завершающих пробелов.
Когда я пытаюсь, я получаю ...
"Нет функции" {http://www.w3.org/2004/07/xpath-functions}:normalize-space()'"
Я пробовал следующее (запрос 1 работает, запрос 2 - нет). Это на SQL 2005.
declare @test table (data xml)
insert into @test values ('<thing xmlns="http://my.org.uk/Things" x="hello " />')
-- query 1
;with xmlnamespaces ('http://my.org.uk/Things' as ns0)
select * from @test where data.exist('ns0:thing[@x="hello "]') != 0
-- query 2
;with xmlnamespaces ('http://my.org.uk/Things' as ns0)
select * from @test where data.exist('ns0:thing[normalize-space(@x)="hello"]') != 0
Спасибо за любую помощь,
Ross