Ich habe eine Tabelle ( SQL Sever
), die auf Pfade verweist ( UNC
oder auf andere Weise), aber jetzt wird sich der Pfad ändern.
In der Pfadspalte habe ich viele Datensätze und muss nur einen Teil des Pfads ändern, aber nicht den gesamten Pfad. Und ich muss in jedem Datensatz die gleiche Zeichenfolge in die neue ändern.
Wie kann ich das mit einem einfachen machen update
?
sql
sql-server
database
database-administration
Iralda Mitro
quelle
quelle
where path like '%oldstring%'
wenn es viele Daten gäbe.quelle
foo
sie ersetzt wird oderbar
(nochmals Entschuldigung)Ich habe das oben genannte versucht, aber es ergab nicht das richtige Ergebnis. Der folgende tut:
quelle
where path like '%oldstring%'
?Ohne die
CAST
Funktion habe ich einen Fehler bekommenDer Argumentdatentyp
ntext
ist für Argument 1 derreplace
Funktion ungültig .quelle
Sie können diese Abfrage verwenden
quelle
Alle Antworten sind großartig, aber ich möchte Ihnen nur ein gutes Beispiel geben
Diese SQL-Anweisung ersetzt das Vorhandensein des Wortes "Tabelle" (zweiter Parameter) in der angegebenen Anweisung (erster Parameter) durch den dritten Parameter
Der Anfangswert ist
this value from table
aber nach dem Ausführen der Ersetzungsfunktionthis value from table but updated
und hier ist ein echtes Beispiel
Zum Beispiel, wenn wir diesen Wert haben
es wird werden
Ich hoffe, dies gibt Ihnen eine bessere Visualisierung
quelle
quelle
Wenn der Zielspaltentyp nicht varchar / nvarchar ist Text ist , müssen wir den Spaltenwert als Zeichenfolge umwandeln und dann konvertieren:
quelle
Sie müssen den Pfad mithilfe der Ersetzungsfunktion ersetzen.
Hier
column_name
bezieht sich auf die Spalte, die Sie ändern möchten.Hoffe es wird funktionieren.
quelle
Sie können zur Laufzeit auch großen Text für E-Mail-Vorlagen ersetzen. Hier ist ein einfaches Beispiel dafür.
quelle