sql >> Databasteknik >  >> RDS >> SQLite

Hur man trimmar en sträng i SQLite

Problem:

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

Exempel:

Vår databas har en tabell som heter category med data i två kolumner:id och name .

id namn
1 ' godis '
2 'kött '
3 ' grönsaker'

Låt oss beskära namnet på varje produktkategori för att ta bort onödigt utrymme i början och slutet.

Lösning:

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

SELECT TRIM(' ', name) AS new_name
FROM category;

Observera att tecknet som ska tas bort är valfritt; du kan bara ange namnet på kolumnen om du vill ta bort mellanslagstecknet:

SELECT TRIM(name) AS new_name
FROM category;

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

nytt_namn
'godis'
'kött'
'grönsaker'

Diskussion:

Använd TRIM funktion i en SQLite-databas 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/eller slutet av en sträng. Den kräver följande argument:

  • Tecknet du vill trimma från strängen, vilket är ett blanksteg som standard.
  • Namnet på strängkolumnen som ska trimmas.

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

TRIM(' ' , name)

SQLite tillåter oss också att ta bort ett mellanslag eller andra tecken endast från början eller slutet av en sträng.

Exemplet nedan tar bort utrymmet från slutet av varje kategorinamn med hjälp av RTRIM() funktion:

SELECT RTRIM(name) AS new_name
FROM company;
nytt_namn
' godis'
'kött'
' grönsaker'

Som TRIM() , RTRIM() funktion tar två argument:tecknen som ska tas bort och strängen som ska trimmas. Återigen, du kan bara ange namnet på kolumnen om tecknet som ska trimmas är ett mellanslag.

Om du vill ta bort tecken från början av en sträng men inte från slutet, använd LTRIM() funktion:

SELECT LTRIM(name) AS new_name
FROM company;

Naturligtvis kan du använda den här funktionen med två argument:tecknen som ska tas bort och strängen som ska trimmas.

Frågan ovan returnerar namnkolumnen utan mellanslag i början:

nytt_namn
s sötsaker '
'kött '
'grönsaker'

  1. Postgres släpptabell syntaxfel

  2. EBS 12.2.5 och högre:Feljustering av inloggningssidans knapp

  3. Åtkomst nekad för användaren "[e-postskyddad]" (med lösenord:NEJ)

  4. Hur byter man databaser i psql?