Sql server SSRS-使用未内置的日期格式

Sql server SSRS-使用未内置的日期格式,sql-server,date,reporting-services,formatting,business-intelligence,Sql Server,Date,Reporting Services,Formatting,Business Intelligence,我正在编写SQL Business Intelligence 2008中的一个报告,其中有一个表,其中一个单元格必须包含日期值(不是DateTime,所以只有月、日和年)。现在,该单元格的表达式如下所示: =Fields!MyDateValue.Value 我的问题是,这个日期必须以dd-MMM-yyyy格式显示,例如2000年1月1日将是2000年1月1日。我查看了Properties->Number中的可用格式,但该格式似乎没有内置。有没有办法让单元格以这种格式显示日期?这对我很有用: =

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

=Fields!MyDateValue.Value
我的问题是,这个日期必须以dd-MMM-yyyy格式显示,例如2000年1月1日将是2000年1月1日。我查看了Properties->Number中的可用格式,但该格式似乎没有内置。有没有办法让单元格以这种格式显示日期?

这对我很有用:

=Format(Fields!MyDateValue.Value, "dd-MMM-yyyy")
对于大写月份,如您所示:

=UCase(Format(First(Fields!order_entry_date.Value, "ReportMain"), "dd-MMM-yyyy"))

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

值保留为字段:
=字段!MyDateValue.Value
并且对于单元格的
格式
属性,请使用日期格式:
dd-MMM-yyyy
。这是首选方法,以便列在导出时保留其数据类型

但是,这将显示具有领先资本的月份,而不是像您的示例所示的全部大写。如果需要将月份设置为大写,则必须手动将单元格
格式化为字符串:

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