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

IE6 implementiert min-width

Zunächst einmal wissen wir, dass dieser Effekt ei...

Linux-Systemaufrufe für Betriebsdateien

Inhaltsverzeichnis 1. Öffnen Sie die Datei Parame...

Zusammenfassung der drei Phasen der Entwicklung eines visuellen Designers

Viele Leute haben dieses Buch gelesen: „Entwickel...

Implementierungsschritte zum Erstellen eines lokalen Webservers auf Centos8

1 Übersicht System CentOS8, verwenden Sie httpd, ...

Wie gestaltet man eine Webseite? Wie erstelle ich eine Webseite?

Wenn es um das Verständnis von Webdesign geht, sc...

Detaillierte Erläuterung des Vuex-Gesamtfalls

Inhaltsverzeichnis 1. Einleitung 2. Vorteile 3. N...

Detaillierte Erklärung zur Interpretation der Nginx-Konfigurationsdatei

Die Nginx-Konfigurationsdatei ist hauptsächlich i...

Benutzererfahrung bei der Neugestaltung der Portal-Website

<br />Vom Start der neuen Homepage von NetEa...

In JavaScript integrierter Zeit- und Datumsformatierungsbeispielcode

1. Grundkenntnisse (Methoden von Datumsobjekten) ...

Über die Fallstricke bei der Implementierung der angegebenen Kodierung in MySQL

Vorne geschrieben Umgebung: MySQL 5.7+, MySQL-Dat...

So wählen Sie die Transaktionsisolationsebene in einem MySQL-Projekt

Einführung Beginnen wir mit unserem Inhalt. Ich g...