Vous devriez être en mesure de le faire assez facilement:
SELECT *
FROM WebPageContent
WHERE data.value('(/PageContent/Text)[1]', 'varchar(100)') LIKE 'XYZ%'
L' .value
vous donne la méthode de la valeur réelle, et vous pouvez choisir d'être renvoyé comme un VARCHAR(), que vous pouvez ensuite vérifier avec une déclaration.
Rappelez-vous, ce n'est pas d'être terriblement vite. Donc si vous avez certains champs dans votre XML que vous avez besoin pour effectuer l'inspection d'un lot, vous pouvez:
- créer une fonction stockée qui obtient le XML et retourne la valeur que vous recherchez comme un VARCHAR()
- définir un nouveau champ calculé sur votre table qui appelle cette fonction, et d'en faire une PERSISTÉ colonne
Avec cela, vous serait essentiellement "extrait" d'une certaine partie des données XML dans un champ calculé, faire de il a persisté, et puis vous pouvez rechercher de manière très efficace (du diable: vous pouvez même INDICE de champ!).
Marc