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:
|
<<: js Drag & Drop-Tabelle zur Realisierung der Inhaltsberechnung
>>: Detaillierte Erklärung, wie man ein Passwort an den SSH/SCP-Befehl im Bash-Skript übergibt
Das Installationstutorial für MySQL 5.7.27 wird w...
Inhaltsverzeichnis Beschränkung der Bezeichnerlän...
Daten exportieren Einen Fehler melden VARIABLEN W...
Um eine Zeichenfolge zu ersetzen, müssen wir das ...
Vorwort Wenn wir bestimmte Zeilen in einer Datei ...
Dieser Artikel beschreibt anhand eines Beispiels ...
Inhaltsverzeichnis 1. Globale Wache 1. Globale Fr...
Inhaltsverzeichnis 1. Gojs-Implementierung 1. Zei...
In diesem Artikel werden hauptsächlich die Unters...
MySQL 8.0.12 Download- und Installations-Tutorial...
Inhaltsverzeichnis 1. Lernziele 1.1. Beherrschen ...
Vorwort Beim Betrieb und der Verwaltung von Linux...
Dieser Artikel zeichnet das Installationstutorial...
Inhaltsverzeichnis Umsetzungsideen: Schritt 1: Ko...
Um die Methode zur Formularübermittlung zusammenz...