Når du arbejder med databaser og de tilknyttede data, skal du nogle gange indsætte et mellemrum, når du forbinder to strenge, eller nogle gange skal du erstatte et tegn med et mellemrum.
Og nogle gange skal du indsætte flere mellemrum. Her er 3 måder at returnere en streng med flere mellemrum i SQL Server ved hjælp af T-SQL.
Mulighed 1:Indtast alle mellemrum
Den mest oplagte måde er simpelthen at skrive hver plads, du har brug for. Sådan:
SELECT 'Homer' + ' ' + 'Satriani';
Resultat:
------------------------- Homer Satriani
I dette eksempel tilføjer jeg 12 mellemrum mellem to andre strenge. Denne metode er normalt perfekt, når du kun skal indsætte et eller to mellemrum. Men når du først skal tilføje sige, et dusin eller mere, så kan det være nemmere at bruge SPACE()
funktion.
Mulighed 2:SPACE()-funktionen
SPACE()
funktion blev bygget specielt til dette formål - at returnere en række gentagne mellemrum. Indtast blot funktionen og angiv et argument, der specificerer, hvor mange mellemrum der kræves.
Så vi kan konvertere det forrige eksempel til dette:
SELECT 'Homer' + SPACE(12) + 'Satriani';
Resultat:
------------------------- Homer Satriani
Mulighed 3:Funktionen REPLICATE()
Hvis du har brug for at indsætte et seriøst stort antal mellemrum (8000 eller mere), så skal du bruge REPLICATE()
fungere. Denne funktion replikerer faktisk ethvert tegn – ikke kun mellemrum.
Så vi kan ændre de foregående eksempler til følgende:
SELECT 'Homer' + REPLICATE(' ', 12) + 'Satriani';
Resultat:
------------------------- Homer Satriani
Du kan også bruge CHAR()
funktion til eksplicit at angive det tegn, der skal bruges. For eksempel CHAR(32)
for et mellemrum eller CHAR(160)
for et ubrudt mellemrum:
SELECT 'Homer' + REPLICATE(char(160), 12) + 'Satriani';
Resultat:
------------------------- Homer Satriani
Udskiftning af et mellemrum med flere mellemrum
Så vi kunne bruge enhver af ovenstående metoder i en REPLACE()
funktion til at erstatte et enkelt mellemrum med flere mellemrum.
Her er et eksempel, der bruger SPACE()
funktion:
SELECT REPLACE('Homer Satriani', ' ', SPACE(12));
Resultat:
------------------------- Homer Satriani