DB

SQL文のフォーマットツール

先日、pgAdminからCSEに出戻ったという記事を書かせていただいたところ、コメントでSQL Convertというソフトが便利だよと教えて頂きました。
いやー、無知は罪ですね。本当にありがとうございます。

CSEは、あくまでのクエリー実行ツールの中に「おまけ」としてSQL整形機能があるような感じでした。
簡単なSQL文であれば問題ないのですが、サブクエリーを含むSQL文だと実はあんまり望みの整形をしてくれないところがありました。
このSQL Convertというソフトは、名前の通りクエリ‐発行は出来ませんが、SQL文の整形をかなり綺麗に行えます。

使ってみた感想を簡単。

まず、オプション数が半端ないです。

比較演算子で半角スペースを入れて微調整を行う
UPDATE文の"="で高さを揃える
AND, ORで高さを揃える

など、フォーマットして見やすくするための至れり尽くせりな細かい調整が可能です。
自分好みのSQL文のフォーマットを指定することができると思います。
実際に、サブクエリを含む複雑なSQL文、ちなみにCSEで実行するとほとんどが一行になってしまうようなSQL文を整形してみましたが、バッチリ整形されました。

そして、びっくりするのがINSERT文の整形。
普通にINSERT文に整形するだけじゃないんです。なんと値のところにコメントでカラム名を入れてくれるんです。
これは超絶便利。最近、O/Rマッパーを使っているのでINSERT文は自分で書くことはほとんどなくなりましたが、それでもO/Rマッパーを使っていない昔の案件のメンテナンスでは、必要になることがありますからね。
[sql]
users
(
id,
NAME,
email
)
VALUES
(
1, -- id
'ore', -- NAME
'testdayo' -- email
)
[/sql]

まさに、至れり尽くせりですね。

EmEditorからの利用

ちなみに、最近のEmEditorを使用している人は、外部ツールからSQL Converterを起動してアウトプットに出力するということが可能です。

EmEditorの設定画面から外部ツールを選択し,新規作成

emeditor_tool

新規作成画面でプロパティの修正

・コマンドにSQL Converterのパスを設定
・アイコンにSQL Converterのパスを設定(指定のアイコンがある人はそれを選択)
・アウトプットバーを選択するにチェック
・入力のプルダウンを文章に選択(他に選択範囲とかいろいろ選択できます)
emeditor_config

実行

うまく設定できた場合は、EmEditorのツールバーに、SQL Converterのアイコンが表示されています。
エディタで適当にSQL文を入力して、ツールバーのアイコンをクリックすると、アウトプットバーに整形後のSQL文が表示されます。
emeditor_pain

まとめ

最近はSQL文を書くということが少なくなってきました。
INSERT、UPDATE、DELETEの処理は基本的にO/Rマッパーに行わせて、SELECT文は自分で書きたいという人には、まだまだSQL文の整形は必要なのではないかなーと思います。

-DB
-,

© 2025 ビー鉄のブログ Powered by AFFINGER5