Bei der Arbeit mit Datenbanken und den zugehörigen Daten müssen Sie manchmal ein Leerzeichen einfügen, wenn Sie zwei Zeichenketten miteinander verbinden, oder manchmal müssen Sie ein Zeichen durch ein Leerzeichen ersetzen.
Und dann müssen Sie manchmal mehrere Leerzeichen einfügen. Hier sind 3 Möglichkeiten, eine Zeichenfolge mit mehreren Leerzeichen in SQL Server mit T-SQL zurückzugeben.
Option 1:Geben Sie alle Leerzeichen aus
Der naheliegendste Weg ist, einfach jedes benötigte Leerzeichen einzutippen. So:
SELECT 'Homer' + ' ' + 'Satriani';
Ergebnis:
------------------------- Homer Satriani
In diesem Beispiel füge ich 12 Leerzeichen zwischen zwei anderen Zeichenfolgen hinzu. Diese Methode ist normalerweise perfekt, wenn Sie nur ein oder zwei Leerzeichen einfügen müssen. Aber sobald Sie, sagen wir, ein Dutzend oder mehr hinzufügen müssen, kann es einfacher sein, das SPACE()
zu verwenden Funktion.
Option 2:Die SPACE()-Funktion
Das SPACE()
Die Funktion wurde speziell für diesen Zweck entwickelt – um eine Folge wiederholter Leerzeichen zurückzugeben. Geben Sie einfach die Funktion ein und geben Sie ein Argument an, das angibt, wie viele Leerzeichen erforderlich sind.
So können wir das vorherige Beispiel in dieses umwandeln:
SELECT 'Homer' + SPACE(12) + 'Satriani';
Ergebnis:
------------------------- Homer Satriani
Option 3:Die REPLICATE()-Funktion
Wenn Sie sehr viele Leerzeichen (8000 oder mehr) einfügen müssen, sollten Sie REPLICATE()
verwenden Funktion. Diese Funktion repliziert tatsächlich jedes Zeichen – nicht nur Leerzeichen.
Wir können also die vorherigen Beispiele wie folgt ändern:
SELECT 'Homer' + REPLICATE(' ', 12) + 'Satriani';
Ergebnis:
------------------------- Homer Satriani
Sie können auch CHAR()
verwenden Funktion, um das zu verwendende Zeichen explizit anzugeben. Beispiel:CHAR(32)
für ein Leerzeichen oder CHAR(160)
für ein geschütztes Leerzeichen:
SELECT 'Homer' + REPLICATE(char(160), 12) + 'Satriani';
Ergebnis:
------------------------- Homer Satriani
Ein Leerzeichen durch mehrere Leerzeichen ersetzen
Wir könnten also jede der oben genannten Methoden innerhalb eines REPLACE()
verwenden Funktion zum Ersetzen eines einzelnen Leerzeichens durch mehrere Leerzeichen.
Hier ist ein Beispiel mit SPACE()
Funktion:
SELECT REPLACE('Homer Satriani', ' ', SPACE(12));
Ergebnis:
------------------------- Homer Satriani