MySQL-Batch entfernt Leerzeichen in einem bestimmten Feld

MySQL-Batch entfernt Leerzeichen in einem bestimmten Feld

Gibt es in MySQL eine Möglichkeit, Leerzeichen stapelweise aus einem bestimmten Feld zu entfernen? Nicht nur die Leerzeichen vor und nach der Zeichenfolge, sondern auch die Leerzeichen in der Mitte der Zeichenfolge. Die Antwort lautet Ersetzen, und zwar mithilfe der MySQL-eigenen Ersetzungsfunktion. Es gibt auch eine Trimmfunktion.

(1) MySQL-Ersetzungsfunktion

Syntax: Ersetzen(Objekt, Suchen, Ersetzen)

Bedeutung: Ersetze alle Vorkommen von search im Objekt durch replace

Beispiel: Leerzeichen im Inhaltsfeld in der Nachrichtentabelle löschen update `news` set `content`=replace(`content`,' ','');

(2) MySQL-Trim-Funktion

Syntax: trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

Die folgenden Beispiele veranschaulichen dies:

mysql> SELECT TRIM('phpernote'); 
-> 'phpernote' 
mysql> Wählen Sie TRIM (führendes 'x' von 'xxxphpernotexxx'); 
-> 'phpernotexxx' 
mysql> Wählen Sie TRIM (beide 'x' von 'xxxphpernotexxx'); 
-> 'phpernote' 
mysql> Wählen Sie TRIM (TRAILING 'xyz' FROM 'phpernotexxyz'); 
-> 'phpernotex' 

Beim Einfügen von Daten in die MySQL-Datenbank entstand aus Unachtsamkeit vor einigen Zeilen einer Textspalte ein zusätzliches Leerzeichen. Aus Zwangsstörungen und um mögliche Probleme in der Zukunft zu vermeiden, habe ich beschlossen, dieses Leerzeichen zu entfernen. Die meisten Methoden, die ich im Internet gefunden habe, verwenden direkt „replace“:

UPDATE-Beispiel
SET col = replace(col, ' ', '')
WO col ersetzt '^ ';

Obwohl mit dieser Methode die Leerzeichen am Zeilenanfang entfernt werden können, werden dabei auch die Leerzeichen zwischen den Zeichen in der Spalte entfernt, die zur Worttrennung verwendet werden, und ein großer Textabschnitt wird verbunden, sodass diese Methode nicht durchführbar ist.

Später wollte ich sehen, ob ich beim Ersetzen reguläre Ausdrücke zum Abgleichen verwenden konnte. Nachdem ich eine Weile gesucht hatte, stellte ich fest, dass dies nicht möglich war.

Abschließend ist mir noch eine Methode eingefallen, die meiner Meinung nach relativ einfach und machbar ist:

Verwenden Sie zunächst CONCAT(), um vor den Zeilen mit Leerzeichen das Zeichen „x“ hinzuzufügen:

UPDATE-Beispiel
SET col = CONCAT('x', col)
WO Spalte REGEXP '^ ';

Dadurch werden am Anfang der Zeile zwei Zeichen „x“ hinzugefügt.

Verwenden Sie dann REPLACE, um die beiden zusätzlichen Zeichen gemeinsam zu entfernen:

UPDATE-Beispiel
SET col = REPLACE(col, 'x ', '')
WO Spalte REGEXP '^x ';

Zusammenfassen

Oben geht es darum, wie man Leerzeichen stapelweise aus einem bestimmten Feld in MySQL entfernt. Ich hoffe, es wird Ihnen helfen. Interessierte Freunde können sich auf Folgendes beziehen: MySQL-Deklaration von Variablen und Analyse gespeicherter Prozeduren, mehrere relativ wichtige MySQL-Variablen, MySQL-Datenbank-Entwicklungsspezifikationen [empfohlen] usw. Wenn Du Fragen hast, hinterlasse uns gerne jederzeit eine Nachricht, dann können wir diese gemeinsam besprechen.

Das könnte Sie auch interessieren:
  • Verwenden Sie „Replace“ in MySQL, um einen Teil des Inhalts eines Felds zu ersetzen
  • Detaillierte Erklärung zur Verwendung der replace into-Anweisung in MySQL
  • MYSQL REPLACE- und ON DUPLICATE KEY UPDATE-Anweisungen stellen Beispiele zur Problemlösung vor
  • Der wirkliche Unterschied zwischen MySQLs Ersetzen in und Einfügen in bei doppeltem Schlüsselupdate
  • Detaillierte Erläuterung der Verwendung der Ersetzungssyntax beim MySQL-Batch-Ersetzen

<<:  js Drag & Drop-Tabelle zur Realisierung der Inhaltsberechnung

>>:  Detaillierte Erklärung, wie man ein Passwort an den SSH/SCP-Befehl im Bash-Skript übergibt

Artikel empfehlen

Die am häufigsten verwendeten HTML-Tags zum Erstellen von Webseiten

1. Optimierung häufig verwendeter HTML-Tags HTML ...

Lösung für das Problem der Werteübergabe zwischen HTML-Seiten

Als ich den Aufsatz zum ersten Mal verwendete, füh...

Konfigurationsprozess für die MySQL-Master-Slave-Replikation

Konfiguration der Hauptbibliothek 1. Konfiguriere...

So verbergen Sie die Versionsnummer in Nginx

Nginx verbirgt die Versionsnummer In einer Produk...

Lösung für den MySQL-Fehlercode 1064

Wenn die Wörter in der SQL-Anweisung mit den Schl...

Detaillierte Erklärung der Schlüsselwörter und reservierten Wörter in MySQL 5.7

Vorwort Die Schlüsselwörter von MySQL und Oracle ...

Webdesign-Tipps: Einfache Regeln für das Seitenlayout

Wiederholung: Wiederholen Sie bestimmte Seitendes...

Zusammenfassung der Linux-Benutzergruppen und -Berechtigungen

Benutzergruppen Unter Linux muss jeder Benutzer e...

So erstellen Sie schnell zig Millionen Testdaten in MySQL

Bemerkung: Die Datenmenge in diesem Artikel beträ...