--.--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008.06.17

第330夜

COUNT関数の結果が0件になるケース・・・。

基本的にCOUNT関数の結果は1レコードになります。
該当の条件に合わないレコードしかない場合は0という1レコードが返却されます。

そのため他のSQLの結果と異なり、1件取得できる前提としてコードを書いてしまう事が多いと思います。

通常のSQLの場合は0件の場合にエラー制御をしたり、for文などで取得件数分処理を行いますが、カウント関数のSQLの場合、0件判定をせずにそのまま値を取得しようとして・・・落ちるケースがあります。

COUNT関数とGROUP BY句を併用した場合に、条件に合うレコードがないと0件ではなくレコードなしになってしまうので注意が必要です。

上記のようにGROUP BY句と併用する場合は副問い合わせなどを使用するようです(ISNULL関数でもいい気がしますが・・・どうなんだろう)。
この記事へのトラックバックURL
http://hexagram.blog41.fc2.com/tb.php/344-0f2f71c9
この記事へのトラックバック
この記事へのコメント
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。