【问题标题】:SSRS mutilple value that checks if sql db column is null检查 sql db 列是否为空的 SSRS 多值
【发布时间】:2013-01-25 06:41:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: sql reporting-services reporting


    【解决方案1】:

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

    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

    【讨论】:

    • 我使用文本来传递参数,但我将其更改为 int 并添加了 all = 3。Thanx 效果很好
    猜你喜欢
    • 1970-01-01
    • 2020-03-16
    • 2019-05-05
    • 1970-01-01
    • 2018-08-12
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多