1. ホーム
  2. sql

SELECTクエリの結果が空であるかどうかの簡易チェック

2023-09-27 21:49:42

質問

select クエリが空でない結果セットを返すかどうかを確認する方法を、どなたか教えていただけませんか?

例えば、私は次のクエリを持っています。

SELECT * FROM service s WHERE s.service_id = ?;

次のようなことをすればいいのでしょうか。

ISNULL(SELECT * FROM service s WHERE s.service_id = ?)

で、結果セットが空でないかをテストしますか?

どのように解決するのですか?

@@ROWCOUNTを使用します。

SELECT * FROM service s WHERE s.service_id = ?;

IF @@ROWCOUNT > 0 
   -- do stuff here.....

によると SQL Server関連書籍オンライン :

最後のステートメントによって影響を受けた行の数を返します。 行数を返します。もし、行数が 行の数が20億を超える場合は ROWCOUNT_BIGを使用します。