我有一个可以为null的datetime2列。该列包含最新的登录日期。如果列为null,则表示用户尚未登录。
我有一个SSRS报告,用于过滤用户是否已登录。如果column为null,那么用户还没有登录。我有一个参数,它接受我传递给存储过程的多个值(全部,登录,未登录)。目前我已将值设置为Logged in = 1且未登录= 2.
我的storedproc接收的值为@HasLoggedIn varchar(50)。
我如何在sql中选择(全部,登录,未登录)。
有没有更好的方法在ssrs中设置它?
答案 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。