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

Sådan trimmes strenge i SQL

Problem:

Du vil gerne fjerne bestemte tegn fra begyndelsen og slutningen af ​​en streng.

Eksempel:

Vores database har en tabel med navnet post med data i to kolonner:id og titel .

id titel
1 ' Nyheder om hunde '
3 'Eurovision 2019'
4 'Nyt politisk klima'

Lad os trimme titlen på hvert indlæg 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( BOTH ' ' FROM title ) as new_title
FROM post;

Alternativt kan du bruge den kortere version uden BOTH søgeord; som standard TRIM vil behandle dette som en BEGGE operation.

SELECT TRIM(' ' FROM title ) as new_title
FROM post;

Her er resultatet af begge forespørgsler:

ny_titel
'Nyheder om hunde'
'Eurovision 2019'
'Nyt politisk klima'

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 eller slutningen af ​​en streng eller fra begge ender. Denne funktion tager følgende argumenter:

  • Et søgeord, der angiver enderne, hvorfra der skal trimmes (valgfrit – BEGGE som standard).
  • Det tegn, du vil trimme fra strengen.
  • FRA søgeord efterfulgt af navnet på den strengkolonne, der skal trimmes.

I vores eksempel ser det sådan ud:

TRIM( BOTH ' ' FROM title )

Som nævnt ovenfor, TRIM kan tage andre søgeord som sit første argument. Ud over at trimme fra begge ender giver det os mulighed for kun at fjerne et tegn fra slutningen af ​​en streng eller kun fra begyndelsen:

  • TRAILING (fjern fra slutningen)
  • FØRENDE (fjern fra begyndelsen)

Eksemplet nedenfor fjerner mellemrummet i slutningen af ​​hver titel (men kan lige så godt bruges til at trimme mellemrummet i begyndelsen, hvis du bruger LEADING søgeord i stedet):

SELECT TRIM( TRAILING ' ' FROM title ) as new_title
FROM post;

Forespørgslen returnerer titlen kolonne uden mellemrum i slutningen. Bemærk, at mellemrummene i begyndelsen forbliver urørt.

ny_titel
‘Nyheder om hunde’
'Eurovision 2019'
'Nyt politisk klima'

  1. Opret en "I stedet for" Trigger i SQL Server

  2. Modellering af produktvarianter

  3. Sporing på kolonneniveau og rækkeniveau i fletningsreplikering

  4. Indsættelse af et Python datetime.datetime-objekt i MySQL