ガイド

SQLをインデントしてキーワードを大文字に整形する方法

SQLを入力し、インデント幅を指定して整形を実行すると、キーワードが大文字化され、読みやすい形式のSQLが返ります。方言の値は受け付けられますが、方言固有の整形規則は適用されません。

ツール SQLフォーマッター

SQLの見た目を整える場面

SQL Formatterは、入力したSQLの見た目を整えるためのツールです。SQLキーワードを大文字にし、インデントを付けて読みやすく整理できます。SQLを実行したり、データベースへ接続したりするものではないため、クエリの結果や妥当性を確認する用途とは分けて使ってください。

SQLを整形する手順

  1. SQL入力欄に、整形したいSQL文字列を入力します。入力は文字列である必要があります。入力欄を省略した場合は空の値として扱われます。以前の sql 引数を使う形式で、通常のSQL入力が空なら、そちらの非空の値が使われます。

  2. インデント幅を指定します。既定値は2です。空白だけではないSQLでは、数値に変換できない値や、0未満または8を超える値は2として扱われます。それ以外の変換後の値が使われます。空白だけの入力では、この変換より先に空の整形結果が返ります。

  3. 必要に応じて方言の値を指定し、整形を実行します。ただし、方言の入力は受け付けられても、この処理では方言ごとの解析や整形規則は適用されません。特定のデータベース向けの構文を、方言指定だけで検証できるわけではありません。

  4. 整形結果を確認します。SQLの解析と整形に成功すると、キーワードが大文字になり、インデントが付いたSQLが返ります。複数の文が検出された場合は、文と文の間がセミコロンと改行で区切られ、最後にもセミコロンが1つ付きます。

結果の読み方と注意点

整形結果は、SQLの実行結果ではなく、入力テキストの構造を読みやすくしたものです。キーワードの大文字化や改行、インデントを確認し、必要なら元のSQLと照らし合わせてください。空白だけの入力は受け付けられますが、結果は空になります。

非空の入力が1,000,000 UTF-8バイトを超える場合は、整形前に拒否されます。また、SQL文を検出できない場合、解析用ライブラリを利用できない場合、解析または整形中に例外が起きた場合は、非空入力の整形に失敗することがあります。整形に成功しても、コメントの保持や元の文字列との完全な一致、SQLの実行可能性までは判断できません。

使用例

開発者が、1つのSELECT文と続くUPDATE文を含むSQLを貼り付け、インデント幅2で読みやすく整えます。

インデント幅を2にして整形を実行し、返されたSQLでキーワードの大文字化と句ごとの改行を確認します。

入力したSQLのキーワードが大文字になり、句や条件がインデントされます。複数の文ならセミコロンと改行で区切られ、末尾にセミコロンが付きます。

制限事項

  • 方言固有の整形やSQLの実行結果を確認する機能ではありません。解析・整形の失敗や、1,000,000 UTF-8バイトを超える非空入力の拒否もあり得ます。

よくある間違い

  • SQL入力に文字列以外の値を渡すと拒否されます。入力値を文字列にしてから、もう一度整形してください。

よくある質問

空のSQLを入力するとどうなりますか?

空白だけのSQL入力は受け付けられ、空の整形結果が返ります。SQLを省略した場合も、入力は空の値として扱われます。

SQLの入力サイズに上限はありますか?

非空のSQL入力が1,000,000 UTF-8バイトを超えると、整形前に拒否されます。入力を分割できるか確認してください。

方言を指定すればデータベースごとのSQLに整形できますか?

方言の値は入力できますが、この処理では方言固有の解析や整形規則は選択されません。特定の方言に合わせた結果を期待する場合は、出力を確認してください。

ツール

SQLフォーマッター