参数数据类型 nvarchar 对于 SSRS 中转换函数的参数 3 无效
Argument data type nvarchar is invalid for argument 3 of convert function in SSRS
我在 Report Builder 中执行查询时遇到参数和转换函数问题。
我的代码中包含以下内容:
CONVERT(VARCHAR(11), COALESCE(Status.POBDate, Status.[Sched Collection Date]),(@DateFormat)) AS [Collection Date]
,CONVERT(VARCHAR(11), Status.[Act Del Date],(@DateFormat)) AS [Delivery Date]
(@DateFormat) 参数的数据类型为整数,可用值如下图所示。
有趣的是,我可以 运行 在 SSMS 中进行查询而没有任何问题,但是当尝试在 Report Builder 中应用一些调整并保存报告时,它会抱怨参数无效,即使,无论如何都没有编辑参数(@DateFormat)。该报告在线运行完美,只有在 Report Builder 中打开它后,当我没有应用任何新调整时它才开始抱怨。
知道哪里出了问题以及我该如何解决吗?
我已经在 Whosebug 上检查了一些想法,但到目前为止还没有解决。
提前致谢!
您的参数类型是文本而非整数,这会导致错误。
您可以通过在 SQL 代码中将 DateFormat 参数转换为 INTEGER 来验证它
CONVERT(VARCHAR(11), COALESCE(Status.POBDate, Status.[Sched Collection Date]),CAST(@DateFormat AS INTEGER)) AS [Collection Date]
建议使用该参数来格式化报告中的日期。
怎么做:
从您的 SQL 代码中移除转化
在您的参数中将其设置为文本并作为值设置日期格式字符串
美国 ="dd/MM/yyyy"
对于英国 ="MM/dd/yyyy"
对于您的日期字段,将格式表达式设置为 = Parameters!DateFormat.Value
我在 Report Builder 中执行查询时遇到参数和转换函数问题。 我的代码中包含以下内容:
CONVERT(VARCHAR(11), COALESCE(Status.POBDate, Status.[Sched Collection Date]),(@DateFormat)) AS [Collection Date]
,CONVERT(VARCHAR(11), Status.[Act Del Date],(@DateFormat)) AS [Delivery Date]
(@DateFormat) 参数的数据类型为整数,可用值如下图所示。
有趣的是,我可以 运行 在 SSMS 中进行查询而没有任何问题,但是当尝试在 Report Builder 中应用一些调整并保存报告时,它会抱怨参数无效,即使,无论如何都没有编辑参数(@DateFormat)。该报告在线运行完美,只有在 Report Builder 中打开它后,当我没有应用任何新调整时它才开始抱怨。
知道哪里出了问题以及我该如何解决吗? 我已经在 Whosebug 上检查了一些想法,但到目前为止还没有解决。
提前致谢!
您的参数类型是文本而非整数,这会导致错误。
您可以通过在 SQL 代码中将 DateFormat 参数转换为 INTEGER 来验证它
CONVERT(VARCHAR(11), COALESCE(Status.POBDate, Status.[Sched Collection Date]),CAST(@DateFormat AS INTEGER)) AS [Collection Date]
建议使用该参数来格式化报告中的日期。
怎么做:
从您的 SQL 代码中移除转化
在您的参数中将其设置为文本并作为值设置日期格式字符串
美国 ="dd/MM/yyyy"
对于英国 ="MM/dd/yyyy"
对于您的日期字段,将格式表达式设置为 = Parameters!DateFormat.Value