例如:
declare @bitHaveRows bit
select @bitHaveRows = count(*)
from table
where (predicate)
我可以在这一行上调用任何函数:
select @bitHaveRows = count(*)
如果没有行,则将此位赋值为0;如果有一行或多行,则将该值赋值为1?
答案 0 :(得分:6)
答案 1 :(得分:5)
根据c onversion chart,有一个从int到bit的隐式转换。但如果由于某种原因不起作用:
CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
答案 2 :(得分:1)
如果您的数据库支持它,您可以使用CASE语句:
declare @bitHaveRows
select @bitHaveRows = case when count(*) > 0 then 1 else 0 end
from yourtable