sql >> Database teknologi >  >> RDS >> Sqlserver

3 måder at returnere en streng af flere mellemrum i SQL Server

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


  1. Sådan optimeres PostgreSQL logisk replikering

  2. Præstationsovervågning og -revision PostgreSQL - Topressourcer

  3. Hvordan returnerer man ResultSet fra Stored Procedure i Oracle?

  4. OGG-01224 Adresse er allerede i brug