0

我有一个可为空的 datetime2 列。该列包含最近的登录日期。如果该列为空,则用户尚未登录。

我有一个 SSRS 报告,用于过滤用户是否已登录。如果列为空,则用户尚未登录。我有一个参数,它接受多个值(全部,已登录,未登录),我将其传递给存储过程。目前,我已将值设置为已登录 = 1 而未登录 = 2。

我的存储过程接收值作为@HasLoggedIn varchar(50)。

我将如何在 sql.xml 中选择(全部,已登录,未登录)。

有没有更好的方法在 ssrs 中进行设置?

4

1 回答 1

2

我在传递参数时有点迷茫,但基本上我认为你正在寻找这个:

DECLARE
  @loginOption int = 0

SELECT 
  [UserID],
  [Timestamp]
FROM [Logins]
WHERE 
  (CASE
     WHEN @loginOption = 0 THEN 1 -- ALL
     WHEN @loginOption = 1 AND [Timestamp] IS NOT NULL THEN 1 -- Logged in
     WHEN @loginOption = 2 AND [Timestamp] IS NULL THEN 1 -- Not logged in
     ELSE 0
   END) = 1

这是一个小提琴

于 2013-01-25T06:56:46.030 回答