J'ai une table ( SQL Sever
) qui fait référence aux chemins ( UNC
ou autre), mais maintenant le chemin va changer.
Dans la colonne du chemin, j'ai de nombreux enregistrements et je dois modifier seulement une partie du chemin, mais pas le chemin entier. Et je dois changer la même chaîne pour la nouvelle, dans chaque enregistrement.
Comment puis-je faire cela avec un simple update
?
sql
sql-server
database
database-administration
Iralda Mitro
la source
la source
where path like '%oldstring%'
s'il y avait beaucoup de données.la source
foo
est remplacée oubar
(désolé encore)J'ai essayé ce qui précède mais cela n'a pas donné le résultat correct. Le suivant fait:
la source
where path like '%oldstring%'
?Sans la
CAST
fonction, j'ai une erreurLe type de données d'argument
ntext
n'est pas valide pour l'argument 1 de lareplace
fonction.la source
Vous pouvez utiliser cette requête
la source
toutes les réponses sont excellentes mais je veux juste vous donner un bon exemple
cette instruction SQL remplacera l'existence du mot "table" (deuxième paramètre) à l'intérieur de l'instruction donnée (premier paramètre) par le troisième paramètre
la valeur initiale est,
this value from table
mais après avoir exécuté la fonction de remplacement, il serathis value from table but updated
et voici un vrai exemple
par exemple, si nous avons cette valeur
cela deviendra
j'espère que cela vous donne une meilleure visualisation
la source
la source
Si le type de colonne cible est différent de varchar / nvarchar comme du texte , nous devons convertir la valeur de la colonne en chaîne, puis la convertir en:
la source
vous devez remplacer le chemin à l'aide de la fonction de remplacement.
se
column_name
réfère ici à cette colonne que vous souhaitez modifier.J'espère que cela fonctionnera.
la source
Vous pouvez également remplacer le gros texte du modèle d'e-mail au moment de l'exécution, voici un exemple simple pour cela.
la source