結果の出力
結果の上の「出力…」で形式を選び、「保存先を選んで出力…」を押します。書き出し中は中断できます。出力し終えたファイルを「Finder で表示」で開けるのは macOS だけです。
出力するのは、アプリが保持している取得済みの行です(取得上限まで)。画面の並べ替え・絞込みは反映せず、取得した順・列の順のまま書きます。SQL は実行し直しません。
RFC 4180 に沿って書きます。
- 文字コードは UTF-8(BOM なし。既定)か、UTF-8(BOM 付き。Excel で開く場合)から選びます。Shift_JIS は表せない文字があるため用意していません。
- 区切りはカンマ、改行は CRLF(既定)か LF です。値の中の改行は引用符の中にそのまま書きます。
- NULL は空欄(既定)・
\N・NULLから選べます。空文字は常に""と書くので、引用符の無い空欄が NULL だと区別できます。NULL をNULLか\Nで表すとき、同じ文字列の値は引用符で囲みます。 - 1行目は列名です。同じ名前の列もそのまま並べます。
- 列が1つの結果で NULL を空欄で表すと、その行は空行になります。空行を読み飛ばすソフトでは行が消えるので、その場合は
\NかNULLを選んでください。 - 数値と日時は、DB から受け取った文字列のまま書きます(桁を落としません)。Excel で開くと、大きな整数が指数表記になるなど、Excel 側で変換されることがあります。
- 値が
=+-@で始まっても加工しません。表計算ソフトで開くときは、数式として解釈されるおそれに注意してください。
{ "format": "sf-visual-editor/result", "formatVersion": 1, "exportedAt": "2026-10-03T05:00:00Z", "source": "select ...", "partial": false, "partialReason": "", "rowLimit": 1000, "fetchedAt": "...", "rowCount": 2, "columns": [{"index": 0, "name": "ID", "type": "NUMBER(38,0)", "typeName": "FIXED", "kind": "number", "nullable": false, ...}], "rows": [["1", null], ["2", "あ\nい"]], "truncatedCells": []}- 行は値の配列(列の順序どおり)です。同じ名前の列があっても失われません。
- 値は文字列か
null(SQL の NULL)です。数値も桁を保つため文字列で書きます。 partialがtrueのときは部分取得です(取得上限などで打ち切ったもので、DB にはほかの行があります)。CSV にはこの印が入らないので、出力の前後に画面で示します。truncatedCellsは、64 KiB を超えて途中までしか保持していないセルの[行番号, 列番号]です。
Excel(.xlsx)
Section titled “Excel(.xlsx)”- 1つの結果を1枚のシートに書きます。シート名はデータタブならオブジェクト名、SQL なら
Resultです(31文字までに縮め、[ ] : * ? / \ 'は_に置き換えます)。 - 1行目は列名です(太字・ウィンドウ枠の固定・オートフィルタ付き)。同じ名前の列もそのまま並べます。
- NULL は空のセル(既定)か文字列の
NULLで書きます。空のセルを選ぶと、空文字は「空の文字列のセル」になるので区別できます。文字列のNULLを選ぶと、値が"NULL"の文字列とは区別できません。 - 1セルは 32,767 文字までです。超えた値は切り詰め、その数を完了の知らせと「情報」シートに出します。XML で使えない制御文字は
�に置き換わります。 - 2枚目の「情報」シートに、出力元・取得日時・出力日時・行数・列数・部分取得かどうか(部分取得なら理由と取得件数の上限)を書きます。
- 1シートは 1,048,575 行(見出しを除く)・16,384 列までです。超える結果は出力の前に断るので、CSV を使ってください。
| 型 | 書き方 |
|---|---|
| NUMBER・FLOAT | 数値。有効桁が15桁を超える値と、Excel で表せない値(NaN・範囲外)は、桁を落とさないよう文字列。NUMBER(p,0) には 0、NUMBER(p,s) には小数 s 桁の表示形式を付ける |
| BOOLEAN | TRUE / FALSE |
| DATE | 日付(yyyy-mm-dd) |
| TIMESTAMP_NTZ | 日時(yyyy-mm-dd hh:mm:ss.000。ミリ秒より細かい桁は表示されない) |
| TIMESTAMP_TZ・TIMESTAMP_LTZ・TIME・VARIANT・OBJECT・ARRAY・BINARY など | 文字列のまま |
1900-03-01 より前と 9999 年より後の日付は文字列で書きます。= で始まる値も、数式にせず文字列で書きます。
まとめた出力
Section titled “まとめた出力”複数の文を実行して結果タブが2つ以上あるときは、結果タブの右の「すべての結果を出力…」で、行を返したタブをまとめて出力できます。
- 対象は行を返した結果タブ(取得済みで失効していないもの)だけです。行を返さない文(DML・DDL など)・失敗した文・未実行の文のタブは除きます。ダイアログのチェックで、対象から外すこともできます。
- CSV と JSON は1タブ1ファイルで、保存先はフォルダです。Excel は1タブ1ファイルか、1ファイルに全タブ(タブごとのシート)かを選べます。
- ファイル名は
<基本名>_<番号>_<文の先頭>.<拡張子>です。基本名の既定は SQL タブの名前、番号は結果タブの番号を2桁以上で0詰めしたもの、文の先頭は最初の数語を_でつないだ30文字までです。 - フォルダに同じ名前のファイルがあれば
(2)、(3)… を付け、上書きしません。出力の前に、ダイアログで名前の一覧を確かめられます。 - 上書きしないためにハードリンクを使ってファイルを置きます。そのため Windows では、ハードリンクを作れない保存先(FAT・exFAT の USB メモリなど)にはまとめて出力できません(別のフォルダを選ぶよう案内します)。
- 1ファイルにまとめた Excel のシート名は
<番号>_<文の先頭>(31文字まで)です。「情報」シートにはタブごとの出力元の SQL・行数・部分取得かどうかを1行ずつ書きます。 - あるタブを出力できなくても(結果が失効していたなど)、ほかのタブは続けて出力し、最後に出力できなかったタブと理由を示します。
- 中断したときは、書き終えたファイルは残し、書きかけのファイルは消します。1ファイルにまとめた Excel は、中断したら何も残しません。
書き出しの仕組み
Section titled “書き出しの仕組み”出力は保存先と同じフォルダの隠しファイル(.<名前>.<乱数>.sfve-part)に書き、最後まで書けたときだけ保存先の名前にします。中断・失敗したら一時ファイルを消し、保存先にもともとあったファイルはそのまま残ります。
- 既存のファイルを上書きしたときは、元の権限を引き継ぎます。保存先がシンボリックリンクなら、リンク先を置き換えます(拡張属性・ハードリンクは引き継ぎません)。
- Excel のときは、大きな結果の作業用のファイルを、同じフォルダの隠しディレクトリ(
.<名前>.<乱数>.sfve-partdir)に置きます。 - 強制終了で残った一時ファイルと一時ディレクトリは、次回の起動時に消します。