【发布时间】:2017-01-23 21:14:10
【问题描述】:
我想将我的一个数据字段格式化为 MMM YYYY 的日期格式。例如,如果返回“201209”,那么我希望它显示为 2012 年 9 月。在 SQL 端,我使用 CAST 仅查看年份和月份,通常该字段看起来像“20120914” .这是我在程序中使用的:
cast(left(cast(TransactionDateKey as varchar(100)), 6) as int)
在 SSRS 中,我使用以下代码:
=Format(DateValue(MonthName(Right(Fields!Month.Value, 2))
+ "," +
Left(Fields!Month.Value,4)), "Y")
但是输出是“2012 年 9 月”,我将如何获取缩写“Sep”,而不是完整的月份名称?
【问题讨论】:
-
如果可能的话,您应该更改您的数据库,使其成为日期时间数据类型,而不是听起来像您拥有的 int 或 varchar。这并不总是可能的,因此您真正应该做的是将日期(或日期时间)数据类型传递给您的报告。然后根据日期数据类型进行格式化。
-
@Sean Lange -- 非常正确;请记住,在许多组织中,更改数据库可能是一项极其艰巨的任务!
-
@JosephDoggie 因此这部分。 “这并不总是可能的”。 :)
标签: sql-server reporting-services sql-server-2012 formatting ssrs-2014