Sql server 无法在SQL Server Reporting Services报表生成器中格式化日期时间
之前关于这个话题的所有问题/答案都不适合我;我有点困惑。我继承了我的第一份SQL Server Reporting Services Report Builder报告,并被赋予了一项看似简单的任务,即将日期更改为日期时间。正如您在下面看到的,我已经成功地修改了基础查询,并且正在获取datetime类型,但是我无法在报告中对它们进行格式化 我的查询结果: 我的第一直觉是,只要将列的类型(Sql server 无法在SQL Server Reporting Services报表生成器中格式化日期时间,sql-server,reporting,Sql Server,Reporting,之前关于这个话题的所有问题/答案都不适合我;我有点困惑。我继承了我的第一份SQL Server Reporting Services Report Builder报告,并被赋予了一项看似简单的任务,即将日期更改为日期时间。正如您在下面看到的,我已经成功地修改了基础查询,并且正在获取datetime类型,但是我无法在报告中对它们进行格式化 我的查询结果: 我的第一直觉是,只要将列的类型(FirstProcessorCompletedDate)从一个日期更改为另一个日期时间,就可以提示报表工具显示
FirstProcessorCompletedDate
)从一个日期更改为另一个日期时间,就可以提示报表工具显示日期和时间,但这不是运气。所以
以前使用报表构建工具的经验告诉我,将现有的引用引用引用到该字段,并将其替换为该字段的格式语句,如下所示:
不幸的是,我在这里添加的任何内容在执行时都会被报表生成器解释为文本。是的,我在FORMAT语句前面尝试了一个“=”。这只是我尝试过的一种变体
很明显,这不是我习惯的SSRS类型的报告构建。我用谷歌搜索了一下,搜索了Stack Overflow,但没有找到满意的答案。我看了一些计算字段,但这似乎有些过分。我不想计算一些东西,只是格式化它
我遗漏了什么?不要修改基础查询,这是您的第一个错误<代码>日期(时间)数据类型没有格式,它们是二进制值,您的表示层会将其更改为可读格式。在SQL Server中更改
date(time)
数据类型的“格式”后,它不再是date(time)
数据类型,而是varchar
,并且format
对varchar
不起作用。您如何将varchar
值'Hello,我的名字是Jane.
格式化为MM/dd/yyyy hh:MM tt
?不能,这同样适用于表示日期的字符串
将列的值作为
datetime
返回给SSRS(不要转换),然后在SSRS中更改单元格的格式属性(选中单元格时点击F4,打开单元格的属性窗格),并将格式更改为MM/dd/yyyy hh:MM tt
,我很久没有使用SSRS了,但我认为可以将单元格格式化为文本,然后将公式显示为文本。像这样的。谢谢你的回复。我知道数据类型没有格式;我想说的是,原始查询返回的日期没有任何时间数据;我将其修改为returndatetime。这正确地给出了提供所需数据粒度所需的二进制信息。话虽如此,您关于F4和格式的提示正是我所需要的,由于您的回答,我继承的报告现在运行良好,我将其标记为正确。非常感谢你!很高兴能帮助@markaaronky。format属性是当您需要数据类型以某种方式查看时的方法;我还(个人)发现格式
函数不可靠。