SELECT COUNT(*)>到变量T-SQL中

Ale*_*ski 2 t-sql sql-server-2008

这应该很简单,但由于某种原因,我无法获得SQL Server 2008的语法

如果表有列,我需要我的变量为true,否则它应该为false.

截至目前,我有这个

DECLARE @LEHasSessions bit

set @LEhasSessions = ((SELECT COUNT(*) FROM @LEForSession) > 0)
Run Code Online (Sandbox Code Playgroud)

这显然不是编译.

语法应如何使其工作?

Mar*_*ith 5

SQL Server没有布尔数据类型.请CASE X THEN 1 ELSE 0改用.

此外,最好使用EXISTS而不是COUNT在这里,因此它可以在读取第一行后停止处理(而不是计算表中的所有行).

SET @LEHasSessions = CASE
                       WHEN EXISTS(SELECT *
                                   FROM   @LEForSession) THEN 1
                       ELSE 0
                     END 
Run Code Online (Sandbox Code Playgroud)