sql >> Database >  >> RDS >> Sqlserver

3 manieren om een ​​reeks van meerdere spaties in SQL Server te retourneren

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


  1. MySQL relationele databases gebruiken op Fedora 14

  2. VBA's functie voor het wijzigen van hoofdletters

  3. MySQL - Een kolom selecteren die niet in Group By is

  4. Showplan-verbeteringen voor UDF's