sql >> Databáze >  >> RDS >> SQLite

Jak oříznout řetězec v SQLite

Problém:

Chtěli byste odstranit mezery nebo konkrétní znaky ze začátku a konce řetězce v SQLite.

Příklad:

Naše databáze obsahuje tabulku s názvem category s údaji ve dvou sloupcích:id a name .

id jméno
1 ' sladkosti '
2 'maso'
3 ' zelenina'

Pojďme oříznout název každé kategorie produktů, abychom odstranili zbytečné místo na začátku a konci.

Řešení:

Použijeme TRIM funkce. Zde je dotaz, který byste napsali:

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

Všimněte si, že znak k odstranění je volitelný; stačí zadat název sloupce, pokud chcete odstranit znak mezery:

SELECT TRIM(name) AS new_name
FROM category;

Zde je výsledek obou dotazů:

new_name
'sladkosti'
'maso'
'vegetables'

Diskuse:

Použijte TRIM funkce v databázi SQLite, pokud chcete oříznout řetězec v tabulce. Tato funkce umožňuje odstranit určitý znak ze začátku a/nebo konce řetězce. Vyžaduje následující argumenty:

  • Znak, který chcete z řetězce oříznout, což je ve výchozím nastavení mezera.
  • Název sloupce řetězce, který má být oříznut.

V našem příkladu to vypadá takto:

TRIM(' ' , name)

SQLite nám také umožňuje odstranit mezeru nebo jiné znaky pouze ze začátku nebo konce řetězce.

Níže uvedený příklad odstraňuje mezeru z konce každého názvu kategorie pomocí RTRIM() funkce:

SELECT RTRIM(name) AS new_name
FROM company;
new_name
'sladkosti'
'maso'
' zelenina'

Jako TRIM() , RTRIM() funkce má dva argumenty:znaky, které mají být odstraněny, a řetězec, který má být oříznut. Opět stačí zadat název sloupce, pokud je znakem k oříznutí mezera.

Pokud chcete odstranit znaky ze začátku řetězce, ale ne z konce, použijte LTRIM() funkce:

SELECT LTRIM(name) AS new_name
FROM company;

Tuto funkci samozřejmě můžete použít se dvěma argumenty:znaky, které se mají odstranit, a řetězec, který se má oříznout.

Výše uvedený dotaz vrátí sloupec názvu bez mezery na začátku:

new_name
'sladkosti'
'maso'
'vegetables'

  1. JDBC vrací prázdnou sadu výsledků

  2. order by newid() - jak to funguje?

  3. Je možné zadat parametry pro název tabulky nebo sloupce v připravených příkazech nebo QueryRunner.update()?

  4. Spravovaný ovladač ODP.NET se nezobrazuje v dialogovém okně Zdroj dat