Wie ersetzen & auf & in SQL?
Ich habe einige fehlerhafte Daten in meine Datenbank-Tabelle. Ich alle ersetzen will &
oder &
oder &amp
oder &amp
zu &
nur.
In java ist es fein arbeiten. wie es zu tun ist SQL?
Java:
String[] names = new String[] { "Ravi Suthar",
"Ravi & Suthar",
"Ravi & Suthar",
"Ravi & Suthar",
"Ravi & Suthar" };
for (String name : names) {
System.out.println(name.replaceAll("&[amp;]*", "&"));
}
SQL:
UPDATE tablename SET columnname=REPLACE(columnname,'&[amp;]*','&');
- Welche SQL-version verwenden Sie?
- Spalte Datentyp?
- Nur zur info: Das passiert meistens, wenn jemand nicht das Vertrauen seiner xml-parser und entweicht das kaufmännische und-Zeichen manuell. Vielleicht beheben Sie das Problem an der Quelle!
- Spalte Datentyp ist varchar und ich bin mit ms sql server 2008.
- Nicht möglich in MSSQL laut diesem post, stackoverflow.com/questions/21378193/...
- ja, es ist. Siehe meine Antwort.
- Dein regex nicht tun, was Sie wollen. Es entspricht
&
gefolgt von einer beliebigen Anzahl von Zeichena
,m
,p
und;
. Versuchen(?:&(?:amp;)+)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese zuerst ersetzen
"&"
mit"&"
, dann ersetzen Sie alle"amp;"
mit""
(leere Zeichenfolge).Folgenden sql ersetzen
&
oder&
oder&amp
oder&amp
oder deren Reihenfolge zu&
oder
Versuchen, auszuführen diese: