sql >> Databasteknik >  >> RDS >> Database

Hur man tar bort inledande och/eller efterföljande mellanslag i en sträng i T-SQL

Problem:

Du vill ta bort ett mellanslag eller ett specifikt tecken från början och slutet av en sträng.

Exempel:

Vår databas har en tabell som heter företag med data i två kolumner:id och namn .

id namn
1 ' Super Market '
2 'Grön butik '
3 ' Modern Bookshop'

Låt oss trimma namnet på varje företag för att ta bort det onödiga utrymmet i början och slutet.

Lösning:

Vi använder TRIM fungera. Här är frågan du skulle skriva:

SELECT TRIM(' ' FROM name) AS new_name
FROM company;

Alternativt kan du använda den kortare versionen utan FROM nyckelord och mellanslag som tecken att ta bort; som standard, TRIM kommer att behandla detta som att ta bort mellanslag från en sträng lagrad i en given kolumn eller uttryck i argumentet för TRIM-funktionen.

SELECT TRIM(name) AS new_name
FROM company;

Här är resultatet av båda frågorna:

nytt_namn
'Supermarknad'
'Grön butik'
'Modern bokhandel'

Diskussion:

Använd TRIM funktion om du vill trimma en sträng i en tabell. Denna funktion låter dig ta bort ett specifikt tecken från början och slutet av en sträng. Den här funktionen tar följande argument:

  • Tecknet du vill trimma från strängen, som standard är det ett mellanslag..
  • FRÅN nyckelord, följt av namnet på strängkolumnen som ska trimmas.

I vårt exempel ser det ut så här:

TRIM(' ' FROM name)

T-SQL tillåter också att ta bort mellanslag för andra tecken endast från början eller endast från slutet av en sträng.

Exemplet nedan tar bort utrymmet i slutet av varje företag genom att använda RTRIM()-funktionen.

SELECT RTRIM(name) AS new_name
FROM company;
nytt_namn
' Super Market'
'Grön butik'
' Modern Bookshop'

Men kan lika gärna användas för att trimma utrymmet i början om du använder LTRIM funktion istället:

SELECT LTRIM(name) AS new_name
FROM company;

Frågan returnerar name kolumn utan mellanslag i slutet. Lägg märke till att utrymmena i början lämnas orörda.

nytt_namn
'Supermarknad '
'Grön butik '
'Modern bokhandel'

  1. Sammanfoga och gruppera flera rader i Oracle

  2. Hur man frågar en CLOB-kolumn i Oracle

  3. Driver.getConnection hänger sig med SQLServer-drivrutinen och Java 1.6.0_29

  4. Hitta index för senaste förekomsten av en delsträng med T-SQL