SQLite | SQLiteコマンド | SELECT結果の区切り文字を変更する(.separatorコマンド)

.separatorコマンドを実行すると、SELECT文の結果を表示するときに使う既定の区切り文字を変更できます。ここでは、その使い方を説明します。

.separatorコマンドの使い方

区切り文字は、クエリ結果の値を区切るほか、.importコマンドでファイルを読み込むときのフィールド区切りにも使われます。

.separator COL? ROW?

第1引数にはカラムの区切り文字を指定します。省略可能な第2引数には行の区切り文字を指定します。カラム区切りの初期値は|で、1文字だけでなく文字列も指定できます。現在の設定は.showで確認できます。

sqlite> .show
        echo: off
         eqp: off
     explain: auto
     headers: off
        mode: list
   nullvalue: ""
      output: stdout
colseparator: "|"
rowseparator: "\n"
       stats: off
       width:
    filename: mydb.sqlite3

初期設定では、値が|で区切られます。

sqlite> select * from user;
1|devkuma|Seoul
2|kimkc|Busan
3|araikuma|Seoul
4|happykuma|Seoul
5|mykuma|Daejeon

区切り文字をカンマに変更して、同じクエリを実行します。

sqlite> .separator ,
sqlite> select * from user;
1,devkuma,Seoul
2,kimkc,Busan
3,araikuma,Seoul
4,happykuma,Seoul
5,mykuma,Daejeon

複数の文字からなる文字列も指定できます。

sqlite> .separator /-/
sqlite> select * from user;
1/-/devkuma/-/Seoul
2/-/kimkc/-/Busan
3/-/araikuma/-/Seoul
4/-/happykuma/-/Seoul
5/-/mykuma/-/Daejeon

空白を含む場合は、文字列全体を二重引用符で囲みます。

sqlite> .separator ", "
sqlite> select * from user;
1, devkuma, Seoul
2, kimkc, Busan
3, araikuma, Seoul
4, happykuma, Seoul
5, mykuma, Daejeon