如何根据值变量设置BIT变量?

时间:2014-07-25 03:26:38

标签: sql-server

我有:

DECLARE @Authenticated BIT

If @@ROWCOUNT > 0
 begin
   SELECT @Authenticated = 1
 end ELSE
 begin
   SELECT @Authenticated = 0
 end 

有没有一种方法可以在没有BEGIN END的情况下执行此操作,并且还设置BIT数据类型以表示True的假的好方法?

3 个答案:

答案 0 :(得分:2)

您可以使用CASE更简洁地执行此操作,如下所示:

 SET @Authenticated = (SELECT CASE WHEN @@ROWCOUNT >0 THEN 1 ELSE 0 END)

此外,BIT是表示True / False的不错选择,因为这几乎就是比特工作 - 0或1。

答案 1 :(得分:1)

您可以更改IF .. ELSE构造,如下所示,并使用SET命令

DECLARE @Authenticated BIT

If @@ROWCOUNT > 0
SET @Authenticated = 1
ELSE
SET @Authenticated = 0

答案 2 :(得分:0)

DECLARE @Authenticated BIT
SET @Authenticated = @@ROWCOUNT

也应该起作用,因为BIT值如果不为零,则为true / 1。

相关问题