SSRS - 使用非内置的日期格式

SSRS - Using Date format that is not built in

我正在使用 SQL Business Intelligence 2008 编写一份报告,其中有一个 table 其中一个单元格必须包含日期值(不是日期时间,所以只有月、日和年)。现在该单元格的表达式如下:

=Fields!MyDateValue.Value

我遇到的问题是这个日期必须以 dd-MMM-yyyy 格式显示,例如 2000 年 1 月 1 日将是 01-JAN-2000。我正在查看“属性”->“数字”中可用的格式,但似乎没有内置这种格式。有没有办法让单元格以这种格式显示日期?

这对我有用:

=Format(Fields!MyDateValue.Value, "dd-MMM-yyyy")

对于大写月份,如您所指:

=UCase(Format(First(Fields!order_entry_date.Value, "ReportMain"), "dd-MMM-yyyy"))
=Day(First(Fields!inserteddate.Value, "DataSet1")) &" - " &left(MonthName(Month(First(Fields!inserteddate.Value, "DataSet1"))),3) &"-" &Year(First(Fields!inserteddate.Value, "DataSet1"))

您应该将数据与表示分开。如果将报告导出到 Excel,这一点很重要 - 如果将 Value 格式化为字符串,则该字段将作为文本而不是日期导出到 Excel,这使得排序和公式变得困难.

Value 保留为字段:=Fields!MyDateValue.Value,并为单元格的 Format 属性 输入日期格式:dd-MMM-yyyy。这是首选方法,以便您的列在导出时保留其数据类型。

但是,这将显示带有前导大写字母的月份,而不是像您的示例所示的全部大写。如果您需要将月份设为大写,则必须手动将单元格 Value 格式化为字符串:

=UCase(Format(Fields!MyDateValue.Value, "dd-MMM-yyyy"))