SQL整形について
ORM 出力、BI エクスポート、DB クライアントからコピーした長い SQL を整えます。方言を選び、「整形」でレビュー用に、「圧縮」でログやチャット向けに短くできます。
キーワードの大文字化、句の改行、サブクエリの段組みインデントなど、デスクトップの SQL ビューティファイに近い見た目を得られます。
整形前に実行環境に合った方言を選んでください。FAQ では CTE、方言不一致、圧縮が向く場面も説明しています。
できること
多方言での整形
Standard SQL、MySQL、PostgreSQL、SQLite、T-SQL などから選べます。関数や方言固有構文を正しくトークン化し、インデントと改行を付けます。解析不能ならエラーで、意味不明なゴミは出しません。
SQL 圧縮
トークン列は保ちつつ空白と改行を詰め、チャット・チケット・ログ集約向けの短い 1 本の文字列にします。
CTE とサブクエリ
WITH 句とネストした SELECT はひとまとまりでインデントされ、インシデント時に JOIN 順を追いやすくなります。実行は必ず対象ウェアハウスの方言で検証してください。
方言に合わせたキーワード
MySQL と PostgreSQL、T-SQL ではバッククォート、識別子、:: キャストなどの扱いが変わります。本番 DB と同じ方言を選んでください。
よくある使い方
SQL を整形する手順は?
SQL を貼り、利用 DB に合う方言を選んで「整形」します。出力はインデント付きで、キーワードは大文字になることが多いです。
1 行の長いクエリを読みやすくするには?
ログや ORM からコピーした 1 行 SQL を貼り整形します。SELECT、JOIN、WHERE、サブクエリが行分けされ、段が揃います。
MySQL や PostgreSQL に対応していますか?
はい。MySQL、MariaDB、PostgreSQL、SQLite、Transact-SQL、PL/SQL、Snowflake、Standard SQL などから選べ、方言差による parse 失敗を減らせます。
よくある質問
- SQL を整形する手順は?
- SQL を貼り、利用 DB に合う方言を選んで「整形」します。出力はインデント付きで、キーワードは大文字になることが多いです。
- 1 行の長いクエリを読みやすくするには?
- ログや ORM からコピーした 1 行 SQL を貼り整形します。SELECT、JOIN、WHERE、サブクエリが行分けされ、段が揃います。
- MySQL や PostgreSQL に対応していますか?
- はい。MySQL、MariaDB、PostgreSQL、SQLite、Transact-SQL、PL/SQL、Snowflake、Standard SQL などから選べ、方言差による parse 失敗を減らせます。
- 整形と圧縮の違いは?
- 整形は人間向けに展開します。圧縮は空白を削り、同じ文構造のまま文字列を短くします。
- 整形に失敗する原因は?
- トークン化できない — キーワード欠落、引用符未閉、方言の取り違えが典型です。断片を直すか方言を変えて再試行してください。
- ストアドプロシージャや PL/SQL ブロックは?
- PL/SQL や T-SQL を選んで整形します。ベンダー拡張で失敗する場合は、内部の SELECT だけ貼ってください。
- 整形でクエリ結果は変わりますか?
- いいえ。空白とキーワードの大小だけが変わります。本番投入前は staging で EXPLAIN や実行確認をしてください。