SQL整形ツール|SQLを見やすくフォーマット

開発者ツール
キーワード表記

SQLを入力し、「SQLを整形」を押してください。

このツールでできること

1行にまとまったSQLなどを、主要な句、JOIN、条件、カンマ、括弧に合わせて改行し、半角スペース2個でインデントします。SQLキーワードは大文字、小文字、入力どおりから選べ、整形結果をそのままコピーできます。

使い方

  1. 「SQL入力」へ整形したいSQLを貼り付けます。
  2. キーワード表記を「大文字」「小文字」「そのまま」から選びます。
  3. 「SQLを整形」を押します。
  4. 必要に応じて「結果をコピー」を押します。

入力例・出力例

大文字を選び、次のSQLを入力します。

select id,name from users where active=1 order by name;

整形結果は次のようになります。

SELECT
  id,
  name
FROM users
WHERE active = 1
ORDER BY name;

小文字を選ぶと認識したキーワードを小文字にし、「そのまま」では入力時のキーワード表記を維持します。

文字列値の'select from'やコメント内のSQLらしい語は、キーワードとして改行・変換しません。

よくある利用場面

  • 1行になったSELECT文をレビューしやすく整えるとき
  • SQLキーワードを大文字・小文字へ統一するとき
  • 複数のSQL文をセミコロン付きで読みやすく配置するとき

処理仕様

  • インデントは半角スペース2個です。
  • SELECT、FROM、WHERE、JOIN、GROUP BY、ORDER BY等の主要な句、AND・OR、カンマ、括弧、セミコロンを基準に整形します。
  • キーワード表記の変換対象は、このツールが認識するSQLキーワードです。テーブル名や列名の表記は揃えません。
  • 単一・二重引用符、バッククォート、角括弧、行コメント、ブロックコメント、PostgreSQL形式のドル引用の内容は変更しません。通常の単一引用符では引用符の二重化を扱い、E'...'ではバックスラッシュエスケープもまとめて保持します。
  • 0x10、0b1010、1e-3、.5等の数値形式と、PostgreSQL形式の位置パラメーター$1を途中で分割しません。
  • 複数のSQL文はセミコロンを保持して分けます。
  • 引用符、ブロックコメント、ドル引用が閉じられていない場合や、括弧が対応していない場合は整形せず、結果を空にしてエラーを表示します。
  • SQLを実行せず、テーブル名や列名、データベース製品固有の構文が正しいかは検証しません。
  • 多様なSQL方言を共通的な規則で整える簡易フォーマッターのため、ストアドプログラムや製品固有の複雑な構文は意図した配置にならない場合があります。

入力データについて

入力したSQLはブラウザ内だけで処理され、ToolRollのサーバーや外部サービスへ送信されません。入力内容をCookieやWeb Storageへ保存する処理もありません。「結果をコピー」を押したときだけ、整形結果を端末のクリップボードへ書き込みます。