select @bitHaveRows = count(*)
このビットに0の値を代入する場合:
declare @bitHaveRows bit
select @bitHaveRows = count(*)
from table
where (predicate)
は、私はこのラインで呼び出すことができるすべての機能があります行がないか、1つ以上の行がある場合は1ですか?
select @bitHaveRows = count(*)
このビットに0の値を代入する場合:
declare @bitHaveRows bit
select @bitHaveRows = count(*)
from table
where (predicate)
は、私はこのラインで呼び出すことができるすべての機能があります行がないか、1つ以上の行がある場合は1ですか?
c onversion chartによれば、intからbitへの暗黙の変換があります。しかし、何らかの理由でそれが動作しない場合:それが良いかどうかわからない...
declare @bitHaveRows
select @bitHaveRows = case when count(*) > 0 then 1 else 0 end
from yourtable
それは私が必要なものです。ありがとう。私は暗黙の変換がその文脈ではうまくいくが、明らかにそうではないことを期待していた。 – Daniel
場合は、CASE文を使用することができますクエリは他の提案よりも
declare @bRowsExist
SELECT @bRowsExist = CAST(count(*) as bit)
FROM yourtable
:データベースがそれをサポートしています
CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
どのようなdbエンジン(mysql、oracle、microsoft)ですか? –