質問

スプレッドシートに取り込んだり、さらに処理したりするために、特定の SQL クエリを適切にタブで区切られた出力に変換するのに役立つ sqlplus 構成ディレクティブの優れたセットを持っている人はいますか?

役に立ちましたか?

解決

Oracle のドキュメントを確認してください。

Oracle でタブを生成するには、タブの ASCII 値 9 と chr 関数を使用します。

select chr(9) from dual;

他のヒント

Justin が彼のリンクで指摘したように、 set colsep function SQLPlus コマンドを使用すると、各列に区切り文字を入力する手間が省けます。

ただし、タブ区切りの場合は、 set colsep Chr(9) 機能しません。

UNIX または LINUX の場合は、次を使用します。 set colsep ' ' 一重引用符間のスペースは入力されたタブになります。

Windows の場合は、次の設定を使用します。

col TAB# new_value TAB NOPRINT
select chr(9) TAB# from dual;
set colsep "&TAB"

select * from table;

私が複数回盗んだある特定のスクリプトは、次の AskTom スレッドからのものです。 データをフラット ファイルに抽出する. 。SQL*Plus から手早く簡単に作成できるフラット ファイルが必要な場合。ただし、私は進行中のあらゆるプロセスに対して、Tom がそのスレッドで以前に投稿した DUMP_CSV 関数を好む傾向があります。

愚かな解決策を思いつきました。とてもうまくいきました。

解決

SELECT column1 || CHR(9) || column2 || CHR(9) || column3 ... ...
FROM table

背後にある原理

実際には、それはただの 文字列の連結.

CHR(9) -> ' '

列1 || CHR(9)||列2 -> concat(列1, ' ', 列2)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top