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

Grafisches Tutorial zur Installation und Konfiguration von Win32 MySQL 5.7.27

Das Installationstutorial für MySQL 5.7.27 wird w...

Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed

Um eine Zeichenfolge zu ersetzen, müssen wir das ...

Schnelles Verständnis des Vue-Routing-Navigationsschutzes

Inhaltsverzeichnis 1. Globale Wache 1. Globale Fr...

Gojs implementiert Ameisenlinien-Animationseffekt

Inhaltsverzeichnis 1. Gojs-Implementierung 1. Zei...

Tutorial zum Herunterladen und Installieren von MySQL 8.0.12 WinX64

MySQL 8.0.12 Download- und Installations-Tutorial...

RHEL7.5 MySQL 8.0.11 Installations-Tutorial

Dieser Artikel zeichnet das Installationstutorial...

Vollständiger Schrittbericht der TabBar-Komponente der Vue-Kapselung

Inhaltsverzeichnis Umsetzungsideen: Schritt 1: Ko...

Fallstudie zur Übermittlung von HTML-Formularen

Um die Methode zur Formularübermittlung zusammenz...