TOP句で変数を使ってSQLを1行にする

公開日: : 最終更新日:2013/12/10 SQL Server , , , ,

TOP句で変数を使ってSQLを1行にする

TOP句を使って複雑なSQLを簡単にします。

SELECTで取得する最大行数を切り替えてみる

EXCELに出力する場合と画面に出力する場合で
SELECTで取得する最大行数を切り替えたかったのですが、
これまではSQLServerのT-SQLでTOP句の値が動的に変えれないと思っていたので、
SQLを

のようにIF文で切り分けていたのですが、
これでは長いSQLや条件が複雑なSQLもTOP句の値が違うだけで
2つ書かなければならずメンテナンス性に欠けます。

しかしながらいつの間にかできるようになっているみたいです

というように「( )」で囲んでやると行けます。

なんと簡単な。

これで複雑なSQLでも1行で書けるのでメンテナンス性がグッと上がります。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

SQLServer

指定した値と同じ場合はNULLを返すNULLIF関数

使いどころがいまいち不明な「NULLIF()」 SQLServerには使いどころがいまいち不明な関

記事を読む

SQLを使っていろいろなやり方で年月を抜き出す

いろいろなやり方で年月を抜き出す 数値で年月を管理しているテーブルに対して年月日から 年月を抜き

記事を読む

SQLServer

bcpコマンドを使ってBULK INSERT用のフォーマットファイルを出力する

bcpコマンドを使ってBULK INSERT用のフォーマットファイルを出力する bcpコマンドを使

記事を読む

SQLで月曜日始まりのカレンダー作成

カレンダー作成 SQLServerで月曜日始まりの1週間分のカレンダーを作成します。 実行す

記事を読む

指定した列名がどのテーブルで使用されているか検索するSQL

指定した列名を利用しているテーブルを検索 SQLServerで指定した列名がどのテーブルで使用され

記事を読む

再帰SQLで最大再帰数の指定

再帰SQLを実行すると最大再帰数に達してエラー 先日作成した日付を管理しているテーブルから共通テー

記事を読む

2つのテーブルを結合して値を更新するSQL

2つのテーブルを結合して値を更新するSQL テーブルAの値をテーブルBの値で上書き(更新)するSQ

記事を読む

SQLサーバ

連番中で 「歯抜け」の番号を見つけ出すSQL

テーブル内の連番の歯抜け番号を探す よくある処理でテーブルに設定されている連番の中で 「歯抜け」

記事を読む

SQLServer

SQLServerで累積値(累積比)を求める

SQLServerで累積値(累積比)を求める SQLServerで累積値(累積比)を求めるには

記事を読む

SQLServerのSQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得する

このページはSQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得すると重複して

記事を読む

SQLServerでsp_renameを使ってテーブルの列名を変更する

SQLServerで列名を変更するには sp_renameを使って列

0で埋めで固定長のデータにする

0で埋めで固定長のデータにする データべース内のデータを0埋めして取

SQLサーバ
連番中で 「歯抜け」の番号を見つけ出すSQL

テーブル内の連番の歯抜け番号を探す よくある処理でテーブルに設定され

SQLServerで作ったテンポラリテーブルが見つからず無効になってしまう

SQLServerでテンポラリテーブルを利用して処理を行う時に 「オ

SELECT INTOで既存テーブルのデータを新規テーブルにコピーする

既存テーブルのデータを新規テーブルにコピーします。 簡単だが結構忘れ

→もっと見る



PAGE TOP ↑