SQL整形(フォーマッター)

チートシートPDF

SQLを貼り付けると、読みやすく整形します。ログに出た1行のSQLや、他の人が書いたSQLを読むときに。

SQL

整形結果

🔗 この結果を別のツールで続けて使う

結果を入れた状態で、選んだツールを開きます(データは送信も保存もしません)。

入力したデータは送信も保存もしません。悪用することも一切ありません。くわしく

SQLを整形するメリット

アプリのログやエラーメッセージに出てくるSQLは、改行のない1行になっていることがほとんどです。 JOIN や WHERE の条件が多いと、どこまでが1つの条件なのか読み取るのが大変です。 整形すると、SELECT・FROM・WHERE などの句ごとに改行し、条件や列をインデントでそろえるので、構造がひと目でわかります。 レビューのときに差分が見やすくなるのも利点です。

読みやすいSQLの書き方のコツ

コツ理由
予約語は大文字、テーブル名・列名は小文字SQLの構文と名前の区別がつきやすい
1行に1つの列・1つの条件追加・削除したときの差分が1行で済む
カンマを行頭に置く(任意)最後の列を消したときのカンマの消し忘れを防げる
テーブルに短い別名(u, o)を付けるJOIN が多いときに、どのテーブルの列かが明確になる
SELECT * を避ける必要な列がはっきりし、テーブル変更の影響を受けにくい

「1行にまとめる」は、整形したSQLをプログラムの文字列やログ検索に使いたいときに便利です。コメントは取り除き、文字列の中の空白はそのまま残します。

型変換(CAST・TO_CHAR など)の書き方に迷ったらSQLの型変換の書き方、 IN句の値の一覧を作るなら改行⇔カンマ区切り変換、 テーブル名・列名の書き方をそろえるならケース変換が便利です。

よくある質問

入力したSQLは送信されますか?

送信されません。整形はお使いのブラウザの中で行います。テーブル名や条件に社内の情報が含まれていても安心してお使いください。

SQLの方言(DB)は何を選べばいいですか?

お使いのDBを選んでください。DBごとに使える記号や予約語が違い(PostgreSQL の :: や SQL Server の [列名] など)、正しく選ぶとより正確に整形できます。わからなければ「標準SQL」でも多くのSQLは整形できます。

整形でSQLの意味が変わることはありますか?

空白・改行・大文字小文字だけを整えるので、通常は意味は変わりません。ただし、文字列の中身やコメントはそのまま残します。大切なSQLは、整形前後で実行結果が同じか確認してから使ってください。

変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。