Wanneer u met databases en de bijbehorende gegevens werkt, moet u soms een spatie invoegen bij het samenvoegen van twee strings, of soms moet u een teken vervangen door een spatie.
En dan moet je soms meerdere spaties invoegen. Hier zijn 3 manieren om een reeks van meerdere spaties in SQL Server te retourneren met behulp van T-SQL.
Optie 1:typ alle spaties in
De meest voor de hand liggende manier is om simpelweg elke ruimte die je nodig hebt in te typen. Zoals dit:
SELECT 'Homer' + ' ' + 'Satriani';
Resultaat:
------------------------- Homer Satriani
In dit voorbeeld voeg ik 12 spaties toe tussen twee andere strings. Deze methode is meestal perfect wanneer u slechts één of twee spaties hoeft in te voegen. Maar als u er bijvoorbeeld een dozijn of meer moet toevoegen, kan het gemakkelijker zijn om de SPACE()
te gebruiken functie.
Optie 2:De functie SPACE()
De SPACE()
functie is speciaal voor dit doel gebouwd - om een reeks herhaalde spaties te retourneren. Typ gewoon de functie en geef een argument op dat aangeeft hoeveel spaties vereist zijn.
Dus we kunnen het vorige voorbeeld in dit omzetten:
SELECT 'Homer' + SPACE(12) + 'Satriani';
Resultaat:
------------------------- Homer Satriani
Optie 3:De REPLICATE() Functie
Als u een serieus groot aantal spaties (8000 of meer) moet invoegen, moet u de REPLICATE()
gebruiken functie. Deze functie repliceert eigenlijk elk teken - niet alleen spaties.
Dus we kunnen de vorige voorbeelden veranderen in het volgende:
SELECT 'Homer' + REPLICATE(' ', 12) + 'Satriani';
Resultaat:
------------------------- Homer Satriani
U kunt ook de CHAR()
. gebruiken functie om het te gebruiken teken expliciet aan te geven. Bijvoorbeeld CHAR(32)
voor een spatie of CHAR(160)
voor een vaste ruimte:
SELECT 'Homer' + REPLICATE(char(160), 12) + 'Satriani';
Resultaat:
------------------------- Homer Satriani
Een spatie vervangen door meerdere spaties
We kunnen dus elk van de bovenstaande methoden gebruiken binnen een REPLACE()
functie om een enkele spatie te vervangen door meerdere spaties.
Hier is een voorbeeld met de SPACE()
functie:
SELECT REPLACE('Homer Satriani', ' ', SPACE(12));
Resultaat:
------------------------- Homer Satriani