仕事でSQLを書いていると、長ーいSQLになってしまったりする上に
括弧の開始と終了でインデントが違ったり
他人の書いたSQLで見辛かったり
実行時に「右カッコがありません」とか言われても、どこに無いのか分からなかったり

そういうことがままあります。。

人によって結構フォーマットが違うし、皆さん多分自分なりのこだわりがあるのだろうと思います。

CSEというDB操作用のツールでCtrl+Qで整形できたりしますが、
整形ルールを変更できないので、自分流のSQLにはならなかったりしますね。

そこでちょっとgoogle先生に聞いてみると、たくさんツールが出てきます。
今のところ一番理想に近いのが SQLConvert です。

・カンマやANDを行の後ろに付けるか前に付けるか変更できる
・SELECT,FROM,UPDATE等の後で改行する、しないを変更できる
・インデントをタブかスペースか選べる
などがいいところです。

テキストエディタなどでCtrl+Cでコピーして
SQLConvertで「実行」して
テキストエディタに貼り付けると、整形されて貼り付けられます。
「実行」はCSEと同じくCtrl+Qでもできるので、起動しておけばEclipse上でもCSEのように整形できるのがいいですね。


ただ、
・EXISTSの中身とかを整形してくれない
・INNER JOIN ... ON の整形がイマイチ
・カラム名の前のインデントを半角スペースじゃなくタブに変更させて欲しい
などなど、、まだ完璧に整形してくれるツールに出会えていません。

Eclipseのプラグインでフォーマット出来そうな奴は
DBViewer Plugin for Eclipse とか
BlancoSqlEditorPlugin とかありますが
やはり整形ルールが微妙ですねー

Eclipseのjavaのフォーマッタぐらい色々指定できる奴、ないのかな。。
情報求む!