SQLite
 sql >> Datenbank >  >> RDS >> SQLite

So trimmen Sie eine Zeichenfolge in SQLite

Problem:

Sie möchten Leerzeichen oder bestimmte Zeichen vom Anfang und Ende einer Zeichenfolge in SQLite entfernen.

Beispiel:

Unsere Datenbank hat eine Tabelle namens category mit Daten in zwei Spalten:id und name .

id Name
1 'Süßigkeiten'
2 'Fleisch'
3 'Gemüse'

Lassen Sie uns den Namen jeder Produktkategorie kürzen, um unnötige Leerzeichen am Anfang und am Ende zu entfernen.

Lösung:

Wir verwenden den TRIM Funktion. Hier ist die Abfrage, die Sie schreiben würden:

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

Beachten Sie, dass das zu entfernende Zeichen optional ist; Sie können einfach den Namen der Spalte angeben, wenn Sie das Leerzeichen entfernen möchten:

SELECT TRIM(name) AS new_name
FROM category;

Hier ist das Ergebnis beider Abfragen:

neuer_name
'Süßigkeiten'
'Fleisch'
'Gemüse'

Diskussion:

Verwenden Sie den TRIM Funktion in einer SQLite-Datenbank, wenn Sie eine Zeichenfolge in einer Tabelle kürzen möchten. Mit dieser Funktion können Sie ein bestimmtes Zeichen am Anfang und/oder am Ende einer Zeichenfolge entfernen. Es nimmt die folgenden Argumente:

  • Das Zeichen, das Sie aus der Zeichenfolge entfernen möchten, standardmäßig ein Leerzeichen.
  • Der Name der zu trimmenden Zeichenfolgenspalte.

In unserem Beispiel sieht das so aus:

TRIM(' ' , name)

SQLite ermöglicht es uns auch, ein Leerzeichen oder andere Zeichen nur am Anfang oder Ende einer Zeichenfolge zu entfernen.

Im folgenden Beispiel wird das Leerzeichen am Ende jedes Kategorienamens mithilfe von RTRIM() entfernt Funktion:

SELECT RTRIM(name) AS new_name
FROM company;
neuer_name
'Süßigkeiten'
'Fleisch'
'Gemüse'

Wie TRIM() , das RTRIM() Die Funktion nimmt zwei Argumente entgegen:die zu entfernenden Zeichen und die zu kürzende Zeichenfolge. Auch hier können Sie einfach den Namen der Spalte angeben, wenn das zu kürzende Zeichen ein Leerzeichen ist.

Wenn Sie Zeichen am Anfang einer Zeichenfolge, aber nicht am Ende entfernen möchten, verwenden Sie LTRIM() Funktion:

SELECT LTRIM(name) AS new_name
FROM company;

Natürlich können Sie diese Funktion mit zwei Argumenten verwenden:den zu entfernenden Zeichen und der zu kürzenden Zeichenfolge.

Die obige Abfrage gibt die Namensspalte ohne Leerzeichen am Anfang zurück:

neuer_name
'Süßigkeiten'
'Fleisch'
'Gemüse'