【发布时间】:2021-10-25 09:41:08
【问题描述】:
我的参数从 SSRS 传递到我的存储过程时遇到问题。
我有一个美国格式的日期,MM-dd-yyyy,在 SSRS 中,它以 dd-MM-yyyy 传递。
在我从存储过程中选择的下方:
SELECT
tt.[sourceId] AS 'id',
'Ticket',
tt.[sourceId],
tt.[date_create], tt.[date_mod], tt.[date_close], tt.[date_solve],
tt.[entityId],
tt.[name],
tt.[date], tt.[status],
tt.[content_PlainText],
tt.[type],
tt.[urgency],
tt.[impact],
tt.[priority],
tt.[userId_lastUpdater],
tt.[userId_recipient],
tu.[sourceId],
tu.[name], tu.[LastName], tu.[firstName],
tu.[profileId],
tu.[entitieId],
tc.[sourceId],
tc.[completename],
tc.[name],
tc.[address],
tc.[postcode],
tc.[town],
tc.[state],
tc.[country],
tc.[phonenumber],
tc.[email],
tc.[admin_email],
tc.[admin_name],
tst.[sourceId],
tst.[statusText]
FROM
ticket_tickets tt
LEFT JOIN
ticket_users tu ON tt.userId_recipient = tu.sourceId
LEFT JOIN
ticket_company tc ON tu.entitieId = tc.sourceId
LEFT JOIN
ticket_status tst ON tt.status = tst.sourceId
WHERE
tc.name = @flt_client
AND (tt.date BETWEEN @flt_StartDate AND @flt_EndDate)
代码参数转换:
=CDate(Parameters!flt_StartDate.Value).ToString("MM-dd-yy")
您知道在 SSRS 参数中将欧盟日期格式转换为美国日期格式吗?
【问题讨论】:
-
如果这两种类型实际上都是 Date 或 DateTime ,则不要将它们转换为字符串。日期的格式(
"MM-dd-yy"或"dd-MM-yy"或"yyyyMMdd"等)只是输出格式,在内部,日期类型列只是一个日期。 -
是的,但是如果没有任何变化,则结果为 0 .... ?
-
编辑您的问题,说明每个字段/列/变量/SSRS 参数的数据类型。如果可能,请显示数据库中的原始数据样本,包括 ticket_tickets.date 列
-
我自己找到了解决方案:)
标签: sql reporting-services reportbuilder powerbi-paginated-reports