2010-07-28 8 views
2

J'essaie de trouver et de remplacer toutes les occurrences de 'cette phrase' par 'cette expression' dans une colonne de type xml en utilisant T-SQL.Recherche textuelle et remplacement dans une colonne XML

La colonne xml contient des champs de plus de 8000 caractères.

J'ai essayé d'utiliser la fonction Replace mais elle n'aime pas le type de données XML et les données ne peuvent pas être compressées dans un varchar.

+0

De combien de lignes parlons-nous? Plus d'un ou deux? – AllenG

+0

@AllenG: Environ 20 lignes ou plus. –

Répondre

1

Quelle que soit sa taille, il peut être placé dans un varchar(max) (un type de données nouveau avec 2005), qui supporte toutes les fonctions de manipulation de texte.

1

Je ne l'ai jamais fait moi-même, mais il semble que this article devrait aider. On dirait que vous allez faire une déclaration de mise à jour comme:

UPDATE [Table] 
SET Document.Modify('[namespace declaration]; 
    Replace Value Of [Xpath expression] with [New Value]') 

Mais je certainement lu cet article attentivement- juste, je l'écrémage peut-être manqué quelque chose.

Questions connexes