問題:
SQLiteの文字列の最初と最後からスペースまたは特定の文字を削除したい。
例:
私たちのデータベースには、category
2列のデータ:id
およびname
。
id | 名前 |
---|---|
1 | 'お菓子' |
2 | '肉' |
3 | '野菜' |
商品の各カテゴリの名前を削除して、最初と最後の不要なスペースを削除しましょう。
解決策:
TRIM
を使用します 働き。作成するクエリは次のとおりです。
SELECT TRIM(' ', name) AS new_name FROM category;
削除する文字はオプションであることに注意してください。スペース文字を削除する場合は、列の名前を指定するだけです。
SELECT TRIM(name) AS new_name FROM category;
両方のクエリの結果は次のとおりです。
new_name |
---|
'お菓子' |
'肉' |
「野菜」 |
ディスカッション:
TRIM
を使用する テーブル内の文字列をトリミングする場合は、SQLiteデータベースで機能します。この関数を使用すると、文字列の先頭または末尾、あるいはその両方から特定の文字を削除できます。次の引数を取ります:
- 文字列からトリミングする文字。デフォルトではスペースです。
- トリミングする文字列列の名前。
この例では、次のようになります。
TRIM(' ' , name)
SQLiteでは、文字列の最初または最後からのみスペースやその他の文字を削除することもできます。
次の例では、RTRIM()
を使用して、各カテゴリ名の末尾からスペースを削除しています。 機能:
SELECT RTRIM(name) AS new_name FROM company;
new_name |
---|
'お菓子' |
'肉' |
'野菜' |
TRIM()
のように 、RTRIM()
関数は2つの引数を取ります。削除する文字とトリミングする文字列です。繰り返しますが、トリミングする文字がスペースの場合は、列の名前を指定するだけです。
文字列の先頭から文字を削除し、末尾からは削除しない場合は、LTRIM()
を使用します。 機能:
SELECT LTRIM(name) AS new_name FROM company;
もちろん、この関数は、削除する文字とトリミングする文字列の2つの引数で使用できます。
上記のクエリは、先頭にスペースを含まない名前列を返します:
new_name |
---|
'お菓子' |
'肉' |
「野菜」 |