报表生成器日期问题

Report Builder date issue

提问人:littlerascal 提问时间:10/20/2022 最后编辑:Dale Klittlerascal 更新时间:10/20/2022 访问量:57

问:

我有一个包含单位、部门、交易transaction_date列的表。

我能够在报表生成器中毫无问题地创建报表,但是我需要一个参数输入,该参数仅输入年份和月份(交易周期)。示例参数,如 Start Period: 202207, End Period: 202208。我不能在报表生成器中使用数据类型日期/时间,因为它为我提供了日历选择。我需要输入 ex.(202208)。我尝试了几件事,但要么是该字段变灰,要么返回错误:

消息 242,级别 16,状态 3,第 69 行 将 varchar 数据类型转换为 datetime 数据类型会导致值超出范围。

declare @DateStart varchar(6)
declare @DateEnd varchar(6)

set @DateStart  = '202207'
set @DateEnd ='202208'


select unit, department, trasaction, transaction_date
from transaction_table
WHERE transaction_date BETWEEN @DateStart and @DateEnd


SQL Server 参数传递 ReportBuilder

评论

0赞 Dale K 10/20/2022
你的问题是什么?如何将值转换为日期?或者如何使UI工作以接受输入?如果 UI 仅使用日期选取器,然后从参数中截断日期。
0赞 alexherm 10/20/2022
在 WHERE 子句中将 transaction_date 转换为 YYYYMM varchar
0赞 littlerascal 10/20/2022
@DaleK - 是的,我无法使 UI 工作以接受我需要的输入。
0赞 Dale K 10/20/2022
要么使用日期选择器并忽略日期,要么添加几个月份/年份的下拉列表。
0赞 littlerascal 10/20/2022
@alexherm谢谢!成功了。我在报表生成器的查询中添加了对交易日期的转换,我现在可以获取预期值。

答: 暂无答案