如果日期格式不是mm / dd / yyyy,则报告日期无法正常工作

The*_*One 7 sql sql-server datetime reportviewer reporting-services

如果用户的日期格式为:

MM/dd/yyyy
Run Code Online (Sandbox Code Playgroud)

但是,如果日期格式不同,则设置日期参数后会自动“清除”日期参数,例如IT DISAPPEARS,这将失败

在此处输入图片说明

同样,如果您在该“结束日期”参数中输入值,该值将自动消失。

我尝试过的事情:

将报表的“语言”属性设置为:“ zh-cn”,User!Language和空白。

很明显,SSRS认为输入的日期无效,因此将其清除。

我需要做些什么才能使这项工作?

Had*_*adi 5

可能的解决方法

以下变通办法可以解决此问题。

(1)处理参数日期格式

如果您不想编辑所有代码,则更容易强制使用参数数据字符串格式,请确保传递给TO_DATE()函数的所有参数都采用以下格式(或尝试从OS区域设置更改默认日期格式)

dd-MMM-yyyy   example: 01-AUG-2019
Run Code Online (Sandbox Code Playgroud)

(2)通过编辑ReportViewer.aspx强制区域性信息

您可以编辑ReportViewer.aspx位于SQL Server报告服务目录中的文件,并强制在报告中使用区域性信息。请查看以下问题,它将为您提供更多详细信息:

(3)更改浏览器语言设置

检查以下链接(阅读Mike Honey和Nick St Mags的答案)


您可以检查以下答案,它包含许多解决方法,可能会给您一些见解: