概要
前方、後方一致した部分を削除するにはtrim
を利用する。
trim
は
ltrim
とrtrim
を同時に使ったような関数になる。
それぞれの関数については以下の記事参照のこと。
ある文字列と文字列を比較して一致した部分を削除する、という機能なので 使い方を理解すれば結構便利。
構文
trim(string1)
trim(string1, string2)
第2引数を指定しないと第1引数の前後の半角空白が削除される。
(※全角の空白は削除されないので注意)
実行例
sqlite> select trim('abcdefg', '');
abcdefg
sqlite> select trim('abcd');
abcd
sqlite> -- # 1.
sqlite> select trim(' abcd');
abcd
sqlite> -- # 2.
sqlite> select trim('abcd ');
abcd
sqlite> -- # 3.
sqlite> select trim(' abcd ');
abcd
sqlite> -- # 4.
sqlite> select trim('abcd', 'ab');
cd
sqlite> -- # 5.
sqlite> select trim('abcd', 'cd');
ab
sqlite> -- # 6.
sqlite> select trim('abcd', 'bc');
abcd
sqlite> -- # 7.
sqlite> select trim('abcd', 'abxy');
cd
sqlite> -- # 8.
sqlite> select trim('abcd', 'xycd');
ab
sqlite> -- # 9.
sqlite> select trim('abcdef', 'abxyef');
cd
sqlite> -- # 10.
sqlite> select trim('defg', 'abcdefg');
- 第2引数を省略すると半角空白が削除される(文字列の前方)
- 第2引数を省略すると半角空白が削除される(文字列の後方)
- 第2引数を省略すると半角空白が削除される(文字列の前後)
- 前方一致している「ab」の部分が削除される
- 後方一致している「cd」の部分が削除される
- 前方・後方一致ではないので削除されない
- 前方一致している「ab」の部分のみが削除される
- 後方一致している「cd」の部分のみが削除される
- 前方・後方一致している「ab」「cd」がそれぞれ削除される
- 前方・後方一致している部分は完全に削除される
参考URL
-
公式のtrim()に関するドキュメント
https://www.sqlite.org/lang_corefunc.html#trim
-
あさはか備忘録: SQLite3 前方一致した部分を削除する(ltrim())
https://sfnovicenotes.blogspot.com/2022/07/sqlite3-ltrim.html -
あさはか備忘録: SQLite3 後方一致した部分を削除する(rtrim())
https://sfnovicenotes.blogspot.com/2022/08/sqlite3-rtrim.html