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

Eine kurze Diskussion über den Unterschied zwischen src und href in HTML

Einfach ausgedrückt bedeutet src „Ich möchte dies...

Vue implementiert Baumtabelle durch Elementbaumsteuerung

Inhaltsverzeichnis Implementierungs-Effekt-Diagra...

JavaScript implementiert einen verschiebbaren Fortschrittsbalken

In diesem Artikel wird der spezifische JavaScript...

js zum Aufrufen der Netzwerkkamera und Behandeln häufiger Fehler

Vor kurzem musste ich aus geschäftlichen Gründen ...

So implementieren Sie eine steuerbare gepunktete Linie mit CSS

Vorwort Die Verwendung von CSS zum Generieren gep...

Verwenden von Streaming-Abfragen in MySQL, um Daten-OOM zu vermeiden

Inhaltsverzeichnis 1. Einleitung 2. JDBC implemen...

Was sind die Attribute des JSscript-Tags

Was sind die Attribute des JS-Skript-Tags: charse...

So importieren Sie schnell Daten in MySQL

Vorwort: Im täglichen Studium und bei der Arbeit ...

Docker+Selenium-Methode zur Realisierung automatischer Gesundheitsberichte

In diesem Artikel wird das Gesundheitsmeldesystem...