Update go_member set username = replacement(username,'non-Chinese Characters','');
Ich möchte die Namen in der Datenbank ersetzen, solange es sich bei den Namen nicht um Zahlen, Buchstaben oder chinesische Schriftzeichen handelt (also Sonderzeichen entfernt werden), werde ich sie ersetzen. Wie geht das? ? ?
Die Datenbank ist MySQL
Update go_member set username = replacement(username,'non-Chinese Characters','');
Ich möchte die Namen in der Datenbank ersetzen, solange es sich bei den Namen nicht um Zahlen, Buchstaben oder chinesische Schriftzeichen handelt (also Sonderzeichen entfernt werden), werde ich sie ersetzen. Wie geht das? ? ?
Die Datenbank ist MySQL
MySQL reguläres Matching, es ist gut, meinen lokalen Test auszuprobierenupdate go_member set username= '' where username not REGEXP '[[:alpha:]]|[0-9]|[a-z,A-Z]'
----Danke für die Einladung----
Idee 1 (nicht empfohlen): Dumme Methode, zuerst alle Daten herausfinden und dann die Ergebnisse filtern (nicht filtern). -Chinesische Zeichen) Die Daten zeichnen die ID dieser Daten auf und werden dann aktualisiert
Idee 2 (empfohlen): Reguläre Ausdrücke in SQL verwenden. Reguläre Ausdrücke können auch in SQL verwendet werden. Es hängt davon ab, welche Datenbank Sie verwenden. Bestimmte Datenbanken haben unterschiedliche Syntaxen. Das hängt von Ihrer Situation ab, googeln Sie es einfach selbst
Zum Beispiel verfügt Oracle über diese vier regulären Ausdrucksfunktionen: regexp_like, regexp_replace, regexp_substr und regexp_instr.
Beispiel:
wählen Sie aus emp, wobei regexp_like ( ename,'^a[a-z]n$'); Sie finden die Zeilen, die mit a beginnen und mit n enden, in ename
Basierend auf den oben genannten Lösungen können Sie auf Google gehen, um es selbst herauszufinden. . . . Hoffe es hilft.
Wenn Sie PHP verwenden, verwenden Sie am besten reguläre Ausdrücke in PHP, um Ergebnisse abzugleichen und zu filtern. Obwohl MySQL, wie oben erwähnt, reguläre Abfrageanweisungen unterstützt, ist die Effizienz geringer.
Der reguläre Ausdruck für Chinesisch lautet: /([u4e00-u9fa5])/u
, der reguläre Ausdruck zum Filtern nicht-chinesischer Zeichen lautet dann: /([^u4e00-u9fa5])/u
Stellen Sie ein reguläres Muster für chinesische Schriftzeichen unter PHP UTF-8 bereit
<code><?php $str = "one中国你好two"; $preg = "/\p{Han}+/u"; $result = preg_replace($preg, '', $str); var_dump($result);</code>
P in Kleinbuchstaben entspricht chinesischen Zeichen, P in Großbuchstaben entspricht nicht-chinesischen Zeichen