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

Sådan fjerner du førende og/eller efterfølgende mellemrum i en streng i T-SQL

Problem:

Du vil gerne fjerne et mellemrum eller et bestemt tegn fra begyndelsen og slutningen af ​​en streng.

Eksempel:

Vores database har en tabel ved navn virksomhed med data i to kolonner:id og navn .

id navn
1 ' Supermarked '
2 'Grøn butik '
3 ' Modern Bookshop'

Lad os trimme navnet på hvert firma for at fjerne det unødvendige mellemrum i begyndelsen og slutningen.

Løsning:

Vi bruger TRIM fungere. Her er den forespørgsel, du ville skrive:

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

Alternativt kan du bruge den kortere version uden FROM nøgleord og mellemrum som tegn, der skal fjernes; som standard TRIM vil behandle dette som at fjerne mellemrum fra en streng gemt i en given kolonne eller udtryk i argumentet for TRIM-funktionen.

SELECT TRIM(name) AS new_name
FROM company;

Her er resultatet af begge forespørgsler:

nyt_navn
'Supermarked'
'Grøn butik'
'Moderne boghandel'

Diskussion:

Brug TRIM funktion, hvis du vil trimme en streng i en tabel. Denne funktion giver dig mulighed for at fjerne et bestemt tegn fra begyndelsen og slutningen af ​​en streng. Denne funktion tager følgende argumenter:

  • Tegnet du vil trimme fra strengen, som standard er det et mellemrum..
  • FRA søgeord efterfulgt af navnet på den strengkolonne, der skal trimmes.

I vores eksempel ser det sådan ud:

TRIM(' ' FROM name)

T-SQL tillader også at fjerne mellemrum af andre tegn kun fra begyndelsen eller kun fra slutningen af ​​en streng.

Eksemplet nedenfor fjerner pladsen i slutningen af ​​hvert firma ved at bruge RTRIM()-funktionen.

SELECT RTRIM(name) AS new_name
FROM company;
nyt_navn
' Supermarked'
'Grøn butik'
' Modern Bookshop'

Men kunne lige så godt bruges til at trimme pladsen i begyndelsen, hvis du bruger LTRIM funktion i stedet:

SELECT LTRIM(name) AS new_name
FROM company;

Forespørgslen returnerer name kolonne uden mellemrum i slutningen. Bemærk, at mellemrummene i begyndelsen forbliver uberørte.

nyt_navn
'Supermarked '
'Grøn butik '
'Moderne boghandel'

  1. Hvordan kan man se refcursorresultat/output i Oracle SQL Developer?

  2. Sådan indstilles navigationsformularen som standardformular i Microsoft Access

  3. Nysgerrig problem med Oracle UNION og ORDER BY

  4. Migrer fra Oracle til MySQL