読者です 読者をやめる 読者になる 読者になる

checkpoint

自分用のIT技術系ノートです。古い情報や間違っている情報もあるので注意。

ソースコードの中にSQLを書く場合

ソースコードの中にSQLを書く場合、これは文字列になるので

sql = @"SELECT
          *
        FROM
          hoge
        WHERE
          fuga_id = 1";


みたいに書くのを推奨している参考書とかは多いです。
が、個人的にはこちらのほうがよいと思います。

sql = " SELECT "
    + "   * "
    + " FROM "
    + "   hoge "
    + " WHERE "
    + "   fuga_id = 1 ";

なんでかと言うと、

  • パフォーマンスとかはほとんど変わらない。
  • 1行ごとにコメントを入れられる。
  • 1行単位でコメントアウト・継ぎ足し可能。
  • デバッグなどの目的でSQLをログに書き出したとき、余分なスペースが少なくてすむ。

等の理由です。
一般的にはどちらを利用している人が多いんでしょうね。ふと疑問に思いました。
ちなみに、最近見た他人のコードで

sql += " SELECT ";
sql += "   * ";
sql += " FROM ";
sql += "   hoge ";
sql += " WHERE ";
sql += "   fuga_id = 1 ";

って書いてあるのがあってビビッタ。