SSRS多值,用于检查sql db列是否为null

时间:2013-01-25 06:41:16

标签: sql reporting-services reporting

我有一个可以为null的datetime2列。该列包含最新的登录日期。如果列为null,则表示用户尚未登录。

我有一个SSRS报告,用于过滤用户是否已登录。如果column为null,那么用户还没有登录。我有一个参数,它接受我传递给存储过程的多个值(全部,登录,未登录)。目前我已将值设置为Logged in = 1且未登录= 2.

我的storedproc接收的值为@HasLoggedIn varchar(50)。

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

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

1 个答案:

答案 0 :(得分: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

这是一个Fiddle