SQL Convert (SQL整形) - NodaSoft@へようこそ

更新日:2014/03/23
SQL Convert  トップページ
SQL Convert  ダウンロード
SQL Convert  掲示板
  ヘルプ

  リンク


メール
Yahoo!ジオシティーズ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  複雑なSQL文を人が見易いように整形・崩すフリーウェア(SQLConvert)の配布を

  行っております。


  システム概要

  ・クリップボードにあるSQL文を[実行]

   ボタンを押すことによって綺麗に整形

   します。

  ・ショートカットキー(Ctrl+Q)も使用

   できます。

   ※フォームがアクティブでなくても

    ショートカットキーは、有効です。

  ・SQLConvertは、常に手前に表示され

   ます。

  ・秀丸エディタ,サクラエディタに対応

   選択している文字列のみを変換する

   ことが出来ます。

   設定方法は、ヘルプページに掲載して

   あります。

   秀丸エディタは、有限会社サイトー

   企画様が提供している便利なテキス

   トエディタです。

  ・フォーム非表示でSQL文を整形するこ

   とも出来ます。

  ・タスク起動することも出来ます。

   ・SQLServer2005,2008の[SQL Server Management Studio Express]に

    SQL整形ボタンを追加することも可能です。設定方法は、ヘルプページに

    掲載してあります。

   ・SQLServerユーザー向け機能もあります。

   ・SQL整形ルールも変更できます。

   ・Insert文に自動的にコメントを追加する事も出来ます。

   ・整形文字数の制限は、ありません。

   ・初回のみ起動に時間が掛かります。

 

  SQLConvert画面イメージ

       

 

  SQLConvert Ver1.0.4.7 -> ダウンロードページへ

 

 

  対応データベース:Oracle,SQLServer,DB2,MySQL,PostgreSQL,Access等

 

 

  SQL文の整形イメージ

 

   ★整形前

            SELECT (1 + 2 ) * 5 (4 - 1 ) - 1000 / 1000 *

            項目1 AS 項目1,CASE 項目2

            WHEN 項目3 THEN    項目4 WHEN 項目5 THEN

            項目6 ELSE 項目7 END,CASE 項目8 WHEN 項目9

            THEN 項目10 WHEN 項目11 THEN 項目12 ELSE

            CASE 項目13 WHEN 項目14 THEN

            CASE 項目15 WHEN 項目16 THEN 項目17

            WHEN 項目18 THEN 項目19 ELSE 項目20 END

            WHEN 項目21 THEN 項目22 ELSE 項目23 END END

            FROM ( SELECT 項目1 FROM ( SELECT 項目1 FROM

            テーブル WHERE 項目1 > 項目2  ) テーブル

            WHERE 項目1 IN (項目1 OR 項目2 ) AND

            項目1 = (項目3 * 100-(100*40 ) ) AND

            (項目1 OR 項目2 ) AND (項目1 + 1 ) = 項目4

            ) テーブル WHERE (項目1 = 項目2 OR 項目1 =

            項目2 ) AND 項目1 = 項目2 * 100 - (100 * 40 )

            AND (項目1 = 項目2 OR 項目1 = 項目2 ) AND

            (項目1 + 1 ) = 項目1;

 

 

   ★整形後(初期設定:AND後派)

            SELECT

                (1 + 2 ) * 5 (4 - 1 ) - 1000 / 1000 * 項目1 AS 項目1,

                CASE 項目2

                WHEN 項目3 THEN

                    項目4

                WHEN 項目5 THEN

                    項目6

                ELSE

                    項目7

                END,

                CASE 項目8

                WHEN 項目9 THEN

                    項目10

                WHEN 項目11 THEN

                    項目12

                ELSE

                    CASE 項目13

                    WHEN 項目14 THEN

                        CASE 項目15

                        WHEN 項目16 THEN

                            項目17

                        WHEN 項目18 THEN

                            項目19

                        ELSE

                            項目20

                        END

                    WHEN 項目21 THEN

                        項目22

                    ELSE

                        項目23

                    END

                END

            FROM

                (

                SELECT

                    項目1

                FROM

                    (

                    SELECT

                        項目1

                    FROM

                        テーブル

                    WHERE

                        項目1 > 項目2

                    ) テーブル

                WHERE

                    項目1 IN (項目1 OR 項目2 ) AND

                    項目1 = (項目3 * 100-(100*40 ) ) AND

                    (項目1 OR 項目2 ) AND

                    (項目1 + 1 ) = 項目4

                ) テーブル

            WHERE

                (項目1 = 項目2 OR 項目1 = 項目2 ) AND

                項目1 = 項目2 * 100 - (100 * 40 ) AND

                (項目1 = 項目2 OR 項目1 = 項目2 ) AND

                (項目1 + 1 ) = 項目1

            ;

 

   ★整形後(AND前派)

            SELECT

                (1 + 2) * 5 (4 - 1) - 1000 / 1000 * 項目1 AS 項目1,

                CASE 項目2

                WHEN 項目3 THEN

                    項目4

                WHEN 項目5 THEN

                    項目6

                ELSE

                    項目7

                END,

                CASE 項目8

                WHEN 項目9 THEN

                    項目10

                WHEN 項目11 THEN

                    項目12

                ELSE

                    CASE 項目13

                    WHEN 項目14 THEN

                        CASE 項目15

                        WHEN 項目16 THEN

                            項目17

                        WHEN 項目18 THEN

                            項目19

                        ELSE

                            項目20

                        END

                    WHEN 項目21 THEN

                        項目22

                    ELSE

                        項目23

                    END

                END

            FROM

                (

                SELECT

                    項目1

                FROM

                    (

                    SELECT

                        項目1

                    FROM

                        テーブル

                    WHERE

                        項目1 > 項目2

                    ) テーブル

                WHERE

                    項目1 IN (項目1 OR 項目2 )

                AND                                       ← AND前派

                    項目1 = (項目3 * 100-(100*40) )

                AND                                       ← AND前派

                    (項目1 OR 項目2 )

                AND                                       ← AND前派

                    (項目1 + 1) = 項目4

                ) テーブル

            WHERE

                (項目1 = 項目2 OR 項目1 = 項目2 )

            AND                                           ← AND前派

                項目1 = 項目2 * 100 - (100 * 40)

            AND                                           ← AND前派

                (項目1 = 項目2 OR 項目1 = 項目2 )

            AND                                           ← AND前派

                (項目1 + 1) = 項目1

            ;

 

   ★整形後(AND前&スペース派)

            SELECT

                (1 + 2) * 5 (4 - 1) - 1000 / 1000 * 項目1 AS 項目1,

                CASE 項目2

                WHEN 項目3 THEN

                    項目4

                WHEN 項目5 THEN

                    項目6

                ELSE

                    項目7

                END,

                CASE 項目8

                WHEN 項目9 THEN

                    項目10

                WHEN 項目11 THEN

                    項目12

                ELSE

                    CASE 項目13

                    WHEN 項目14 THEN

                        CASE 項目15

                        WHEN 項目16 THEN

                            項目17

                        WHEN 項目18 THEN

                            項目19

                        ELSE

                            項目20

                        END

                    WHEN 項目21 THEN

                        項目22

                    ELSE

                        項目23

                    END

                END

            FROM

                (

                SELECT

                    項目1

                FROM

                    (

                    SELECT

                        項目1

                    FROM

                        テーブル

                    WHERE

                        項目1 > 項目2

                    ) テーブル

                WHERE

                    項目1 IN (項目1 OR 項目2 )

                    AND                                   ← AND前&スペース派

                    項目1 = (項目3 * 100-(100*40) )

                    AND                                   ← AND前&スペース派

                    (項目1 OR 項目2 )

                    AND                                   ← AND前&スペース派

                    (項目1 + 1) = 項目4

                ) テーブル

            WHERE

                (項目1 = 項目2 OR 項目1 = 項目2 )

                AND                                       ← AND前&スペース派

                項目1 = 項目2 * 100 - (100 * 40)

                AND                                       ← AND前&スペース派

                (項目1 = 項目2 OR 項目1 = 項目2 )

                AND                                       ← AND前&スペース派

                (項目1 + 1) = 項目1

            ;

 

   ★整形後(AND前&スペース&AND後改行しない派)

            SELECT

                (1 + 2) * 5 (4 - 1) - 1000 / 1000 * 項目1 AS 項目1,

                CASE 項目2

                WHEN 項目3 THEN

                    項目4

                WHEN 項目5 THEN

                    項目6

                ELSE

                    項目7

                END,

                CASE 項目8

                WHEN 項目9 THEN

                    項目10

                WHEN 項目11 THEN

                    項目12

                ELSE

                    CASE 項目13

                    WHEN 項目14 THEN

                        CASE 項目15

                        WHEN 項目16 THEN

                            項目17

                        WHEN 項目18 THEN

                            項目19

                        ELSE

                            項目20

                        END

                    WHEN 項目21 THEN

                        項目22

                    ELSE

                        項目23

                    END

                END

            FROM

                (

                SELECT

                    項目1

                FROM

                    (

                    SELECT

                        項目1

                    FROM

                        テーブル

                    WHERE

                        項目1 > 項目2

                    ) テーブル

                WHERE

                        項目1 IN (項目1 OR 項目2 )

                    AND 項目1 = (項目3 * 100-(100*40) ) ← AND前&スペース…

                    AND (項目1 OR 項目2 )               ← AND前&スペース…

                    AND (項目1 + 1) = 項目4             ← AND前&スペース…

                ) テーブル

            WHERE

                    (項目1 = 項目2 OR 項目1 = 項目2 )

                AND 項目1 = 項目2 * 100 - (100 * 40)    ← AND前&スペース…

                AND (項目1 = 項目2 OR 項目1 = 項目2 ) ← AND前&スペース…

                AND (項目1 + 1) = 項目1                 ← AND前&スペース…

            ;

 

 

   ★整形後(オプション画面にて設定を変更してこのように整形も可能)

            SELECT  (1 + 2) * 5 (4 - 1) - 1000 / 1000 * 項目1 AS 項目1,

                    CASE 項目2

                    WHEN 項目3 THEN

                            項目4

                    WHEN 項目5 THEN

                            項目6

                    ELSE

                            項目7

                    END,

                    CASE 項目8

                    WHEN 項目9 THEN

                            項目10

                    WHEN 項目11 THEN

                            項目12

                    ELSE

                            CASE 項目13

                            WHEN 項目14 THEN

                                    CASE 項目15

                                    WHEN 項目16 THEN

                                            項目17

                                    WHEN 項目18 THEN

                                            項目19

                                    ELSE

                                            項目20

                                    END

                            WHEN 項目21 THEN

                                    項目22

                            ELSE

                                    項目23

                            END

                    END

            FROM    (

                    SELECT  項目1

                    FROM    (

                            SELECT  項目1

                            FROM    テーブル

                            WHERE   項目1 > 項目2

                            ) テーブル

                    WHERE   項目1 IN (項目1 OR 項目2)        AND

                            項目1= (項目3 * 100 - (100 * 40)) AND

                            (項目1 OR 項目2)                  AND

                            (項目1 + 1) = 項目4

                    ) テーブル

            WHERE   (項目1 = 項目2 OR 項目1 = 項目2) AND

                    項目1  = 項目2 * 100 - (100 * 40)  AND

                    (項目1 = 項目2 OR 項目1 = 項目2) AND

                    (項目1 + 1) = 項目1

            ;

 

 

  ツール作成の経緯

    CSE(Common SQL Environment)のSQL崩しを使用して整形していたので

  すが長いSQL文を整形した場合に思ったようにインデント(スペース)が付

  かずに困っていました。そこで、どうせなら自分でこのSQL整形機能だけ

  を作成してしまえと思いできたのがこの「SQLConvert」です。

  他の同様ツールであまり対応していないサブクエリ、JOIN等の複雑なSQL

  文も綺麗に整形出来るようにしました。

  ※CSEは、つみきソフトウェア様が提供している便利なSQL開発ツールです。

 

 システム仕様は、ヘルプページに記載してあります。

 長いSQL文のサンプルは、こちらに記載してあります。


 

    掲示板に皆様からのご意見・ご感想をお待ちしております。


カウンター

 



 

QLOOKアクセス解析