【发布时间】:2021-09-29 17:56:51
【问题描述】:
我试图创建一种格式,其中包含日期和月份 ex:日期为 2 月25th 天/em> 2021
【问题讨论】:
标签: sql-server date reporting-services
我试图创建一种格式,其中包含日期和月份 ex:日期为 2 月25th 天/em> 2021
【问题讨论】:
标签: sql-server date reporting-services
SSRS 中没有内置功能可以执行此操作。
我创建了一些自定义代码来使用序数来格式化日期。我想我是使用在 SQL 语句中看到的一些逻辑来创建函数的。
功能代码将进入报告属性的代码选项卡:
Function - Ordinal Numbers
Public Function FormatOrdinal(ByVal day As Integer) as String
DIM Ordinal as String = ""
IF day Mod 100 = 11 or day Mod 100 = 12 or day Mod 100 = 13 ' If 11, 12 or 13, add a "th" NOT a "st", "nd" or "rd"
Ordinal = "th"
ELSE ' Start a new select case for the rest of the numbers
SELECT Case day Mod 10
Case 1 ' 1 or 21 = “st"
Ordinal = "st"
Case 2 ' 2 or 22 = "nd"
Ordinal = "nd"
Case 3 ' 3 or 33 = "rd"
Ordinal = "rd"
Case Else ' Otherwise "Th"
Ordinal = "th"
END SELECT
END IF
Return day.ToString() + Ordinal
END FUNCTION
文本框的表达式为:
="Dated this " & CODE.FormatOrdinal(Day(Fields!THE_DATE.Value)) & " day of " & FORMAT(Fields!THE_DATE.Value, "MMMM yyyy")
【讨论】:
CODE.FormatOrdinal(Day(Fields!THE_DATE.Value)),月份为FORMAT(Fields!THE_DATE.Value, "MMMM") - M 格式是月份,MMM 显示月份的缩写,MMMM 是完整的月份名称。
Fields!THE_DATE.Value 更改为您想要用于日期的任何内容,一个字段一个参数...
CODE.FormatOrdinal(Day(Fields!THE_DATE.Value)) 获取日期部分并使用 FORMAT(Fields!THE_DATE.Value, "MMMM") 获取月份名字。