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 Zeichen a, m, p und ;. Versuchen (?:&(?:amp;)+)

InformationsquelleAutor 2787184 | 2015-12-07
Schreibe einen Kommentar