Oracleでselectした結果の列のセパレータを指定する方法をみつけた。これは、なかなかいい。 #oracle #sql

コマンドの説明
set echo off コンソールメッセージ非表示
set linesize n nは1レコードの表示が1行に収まるように調節する
set pagesize 0 ページ間のセパレータが無くなる
set trimspool on 各行の右端のスペースを削除する
set feedback off 「〜行が選択されました」の非表示制御
set colsep ',' カラム間の区切り文字をカンマ','にする

SELECT結果をCSVファ イル出力する - 忘れっぽいエンジニアのオラクルSQLリファレンス

職場で「TSV(Tab Separated Values)なファイルを、Oracleのselect文だけで作りたいんだけどどうしたらい い?」と聞かれてググって見つけたので備忘録として。

set colsep ','の部分を、TAB('    ')に変えたりブランク(' ')することで、 TSV(Tab Separated Values)でもBSV(Blank Separated Values)も作れる。

ちょろっとCSV作りたいときなんかに、がちゃぐちゃ手の込んだ真似をしなくて良いのは大変にありがたい。

しかし、こうしてみるとOracleのsqlplusインターフェイスをちゃんと使えてないなぁ。