Sql server 如何基于值变量设置位变量?

Sql server 如何基于值变量设置位变量?,sql-server,Sql Server,我有: 有没有一种方法可以在不使用BEGIN-END的情况下执行此操作,并且设置位数据类型是表示True还是False的好方法?您可以使用CASE更简洁地执行此操作,如下所示: DECLARE @Authenticated BIT If @@ROWCOUNT > 0 begin SELECT @Authenticated = 1 end ELSE begin SELECT @Authenticated = 0 end 另外,位是表示真/假的一个不错的选择,因为这与

我有:


有没有一种方法可以在不使用BEGIN-END的情况下执行此操作,并且设置位数据类型是表示True还是False的好方法?

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

DECLARE @Authenticated BIT

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

另外,
是表示真/假的一个不错的选择,因为这与位的工作原理非常相似-0或1。

您可以使用
大小写
更简洁地完成此操作,如下所示:

DECLARE @Authenticated BIT

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

另外,
是表示真/假的一个不错的选择,因为这与位的工作原理非常相似-0或1。

您可以使用
大小写
更简洁地完成此操作,如下所示:

DECLARE @Authenticated BIT

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

另外,
是表示真/假的一个不错的选择,因为这与位的工作原理非常相似-0或1。

您可以使用
大小写
更简洁地完成此操作,如下所示:

DECLARE @Authenticated BIT

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

另外,
是表示真/假的一个不错的选择,因为这与位的工作原理非常相似-0或1。

如果。。否则构造如下,并使用
SET
命令

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

如果..您可以更改您的
。。否则
构造如下,并使用
SET
命令

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

如果..您可以更改您的
。。否则
构造如下,并使用
SET
命令

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

如果..您可以更改您的
。。否则
构造如下,并使用
SET
命令

 SET @Authenticated = (SELECT CASE WHEN @@ROWCOUNT >0 THEN 1 ELSE 0 END)
也应该工作,因为位值为真/1(如果不是零)

也应该工作,因为位值为真/1(如果不是零)

也应该工作,因为位值为真/1(如果不是零)


由于位值为真/1(如果不是零),因此也应该工作。

谢谢。我会在4分钟内接受这个答案。我也可以问一下。使用SET是设置值的更好方法。我的代码正在使用:SELECT@Result='F'。我应该用SET来代替吗?这个答案很好地比较了2:谢谢。我会在4分钟内接受这个答案。我也可以问一下。使用SET是设置值的更好方法。我的代码正在使用:SELECT@Result='F'。我应该用SET来代替吗?这个答案很好地比较了2:谢谢。我会在4分钟内接受这个答案。我也可以问一下。使用SET是设置值的更好方法。我的代码正在使用:SELECT@Result='F'。我应该用SET来代替吗?这个答案很好地比较了2:谢谢。我会在4分钟内接受这个答案。我也可以问一下。使用SET是设置值的更好方法。我的代码正在使用:SELECT@Result='F'。我应该改为使用SET吗?这个答案很好地比较了两个: