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)
这显然不是编译.
语法应如何使其工作?
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)