やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLite3コア関数 trim,ltrim,rtrim

 トリムする。左右、左、右にあるスペースを削除する。

成果物

構文

 スペースを削除する。

select  trim(文字列);
select ltrim(文字列);
select rtrim(文字列);
文字列
文字列
文字列

 第2引数で渡したすべての文字を削除する。

select  trim(文字列, 削除文字リスト);
select ltrim(文字列, 削除文字リスト);
select rtrim(文字列, 削除文字リスト);

 削除する位置は以下の通り。

関数 位置
trim 先頭と末尾にある
ltrim 先頭にある
rtrim 末尾にある

 lleft, rrightの略だと思われる。

スペース削除

 スペースだけ削除される。

select  trim(' A B ');
select ltrim(' A B ');
select rtrim(' A B ');
A B
A B 
 A B

 タブは削除されない。

select  trim('    A   B   ');
select ltrim('   A   B   ');
select rtrim('   A   B   ');
   A   B   
    A   B   
    A   B   

 改行コードは削除されない。

select  trim(char(10) || 'A' || char(10) || 'B' || char(10));
select ltrim(char(10) || 'A' || char(10) || 'B' || char(10));
select rtrim(char(10) || 'A' || char(10) || 'B' || char(10));
A
B


A
B


A
B

任意の文字を削除する

 スペース、タブ、改行コードを削除。

select  trim(char(9) || char(10) || ' A ' || char(9) || char(10) || ' B ' || char(9) || char(10), ' ' || char(9) || char(10));
select ltrim(char(9) || char(10) || ' A ' || char(9) || char(10) || ' B ' || char(9) || char(10), ' ' || char(9) || char(10));
select rtrim(char(9) || char(10) || ' A ' || char(9) || char(10) || ' B ' || char(9) || char(10), ' ' || char(9) || char(10));
A  
 B
A   
 B  

    
 A  
 B

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux

前回まで