次のようなテーブルを想像してください。
create table test (depth integer, name text);
いくつかの行を追加します:
insert into test (depth, name)
values (0, "no indent"), (1, "single indent"), (2, "double indent");
depth
次に、次のようなパラメーターに基づいて出力を作成します。
no indent
single indent
double indent
この場合のインデントは 4 つのスペースです (ただし、タブ文字のような興味深いインデントに変更できます)。
私の腸は次のようなことをしたい:
select ' ' * depth || name from test order by depth;
ただし、これはPostgresで爆発します。このような文字列の乗算は、Python では期待どおりに機能します。しかし、私は Postgres での同等の操作に慣れていません。他のデータベースの実装も興味深いでしょう。