KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm having a table with one XML column. I'd like to filter out the rows where a specific attribute in the XML match a string, essentially doing a WHERE or HAVING. The table looks something like this | id | xml | And the XML something similar to <xml> <info name="Foo"> <data .../> </info> <xml> I want to get all ids where the @name attribute matched a value. I have been able to do the following: SELECT id, xml.query('data(/xml/info/@name)') as Value FROM Table1 WHERE CAST(xml.query('data(/xml/info/@name)') as varchar(1024)) = @match But it's incredibly slow. There must be a better way of filtering on the output of the query.
Tags (comma-separated)
Save Edits
Cancel