【发布时间】:2019-05-17 07:27:58
【问题描述】:
我有这个查询,它将从 SQL Server 返回一个日期
SELECT TOP 1
CASE
WHEN (SELECT TOP 1 CONVERT(DATE, [Duedate]) AS [Duedate]
FROM [dbo].[Table1]
WHERE CONVERT(DATE, [Duedate]) = CONVERT(DATE, GETDATE())) = CONVERT(DATE, GETDATE())
THEN CONVERT(DATE, GETDATE())
ELSE (SELECT TOP 1 CONVERT(DATE, [Duedate])
FROM [dbo].[Table1]
WHERE CONVERT(DATE, [Duedate]) > CONVERT(DATE, GETDATE())
ORDER BY CONVERT(DATE, [Duedate]) ASC)
END AS [ReturnRequiredDate]
FROM
[dbo].[Table1]
但是,当我尝试将其添加到 SSRS 报告中的数据集时,它会返回日期和时间格式。如何解决?
其次,我想根据此返回日期(即前几天和包括返回日期)填充表格列/行的背景颜色。
也就是说,根据大小写,如果日期返回任何一个月的 16 号,那么填充的颜色应该是,从 16 号开始到前几天。
另外,假设返回的日期是任何一个月的 27 日,那么颜色应该从 27 日开始填充到以前的记录(以前的日期记录) 如何使用 SSRS 表达式做到这一点?
使用查询,在所有日期中,我能够返回 [ReturnRequiredDate] 之前的所有日期。有没有办法只为那些返回的日期填充颜色?在同一个 SSRS 表中(我所有的记录都在那里)。我不想在 SSRS 中使用单独的表格进行颜色填充。
希望我已经清楚地解释了规则,如果没有,请告诉我修改问题。谢谢。
【问题讨论】:
-
您能否添加查询返回的示例数据,提供解决方案会有所帮助。
标签: sql-server expression ssrs-2017