SQLServer2000:クエリで TOP を使うとき

  • このエントリーをはてなブックマークに追加
  • このエントリーをはてなブックマークに追加

クエリ結果の先頭から指定した行セットだけを返したい場合は TOP を使用しますが、 通常は下記のように発行しても問題ありません。

SELECT TOP 15 * FROM tbHoge

処理上、取得件数を変数で指定したい時は、下記の様になると思いますが、エラーとなります。

SELECT TOP @Count * FROM tbHoge

正しくは下記の通り、括弧で変数を括ります。

SELECT TOP (@Count) * FROM tbHoge

SQLServer 2005 以降は括弧で括る事を必要としています。
括弧無しは下位互換性のため、実行可能になってるとのこと。

関連記事:

Pocket
Bookmark this on Delicious
Bookmark this on Google Bookmarks

コメントを残す

メールアドレスが公開されることはありません。


*

This blog is kept spam free by WP-SpamFree.