我需要将EXISTS函数的结果存储到一个变量中。我了解到SQL Server没有'bool'类型的变量,所以我想将结果存储在一个bit类型的变量中。反过来,如何从'bit'转换为'bool'?我该怎么做呢?
我需要将EXISTS函数的结果存储到一个变量中。我了解到SQL Server没有'bool'类型的变量,所以我想将结果存储在一个bit类型的变量中。反过来,如何从'bit'转换为'bool'?我该怎么做呢?
DECLARE @bool BIT;
SELECT @bool = CASE WHEN EXISTS (some subquery) THEN 1 ELSE 0 END;
我不知道"反之亦然"是什么意思。SQL Server没有布尔数据类型,所以我不知道您想将BIT转换为什么...也许是:
SELECT CASE WHEN @bool = 1 THEN 'True' ELSE 'False' END;
如果你想在一个 IF
语句中实现这个:
IF @bool = 1
BEGIN
PRINT 'True';
END
ELSE
BEGIN
PRINT 'False';
END
如果你正在寻找一种简写方式,可以使用IF (@bool)
代替IF (@bool) = 1
,那么很抱歉,你运气不好。如果这是你试图“优化”代码的地方,并且你没有更紧迫的问题,请回家喝杯啤酒,你已经赚到它了。省两个字符已经比你能得到的省下的时间更多了。