【发布时间】:2015-09-22 08:53:42
【问题描述】:
我正在 SSRS 中创建一个报告,在顶部我有一个带有“上次刷新”占位符的标题,它将显示报告上次运行的时间。
我在占位符中的功能就是这样:
=Format(Now, "dddd dd MMMM yyyy hh:mm tt")
看起来像这样:
2015 年 9 月 22 日星期一上午 9:46
我想用英文后缀st、nd、rd和th适当地格式化日值。
我找不到用于此的内置函数,到目前为止,我查看的指南似乎描述了在 SQL 端使用我不想要的存储过程执行此操作。 我正在寻找报表方面的解决方案。
我认为我可以使用丑陋的嵌套 IIF 来解决问题,但尽管没有给我任何语法错误,但它还是出错了(空格只是为了便于阅读)。
=Format(Now, "dddd " +
IIF(DAY(Now) = "1", "1st",
IIF(DAY(Now) = "21","21st",
IIF(DAY(Now) = "31","31st",
IIF(DAY(Now) = "2","2nd",
IIF(DAY(Now) = "22","22nd",
IIF(DAY(Now) = "3","3rd",
IIF(DAY(Now) = "23","23rd",
DAY(Now) + "th")))))))
+ " MMMM yyyy hh:mm tt")
在任何其他语言中,我早就掌握了这一点,但 SSRS 对我来说是新的,所以我不确定如何进行简单的字符串操作。令人沮丧!
感谢您能给我的任何帮助或指点。
编辑:我已经阅读了有关将 VB 代码插入报告中可以解决我的问题的信息,但我一定要发疯了,因为我看不到在哪里添加它。指南说要进入 Properties > Code 部分,但我看不到。
【问题讨论】:
标签: datetime reporting-services format ssrs-2008