2017-06-29 115 views
1

我目前需要将月份名称转换为数字才能编写我的代码。我的当前参数(StartMonth)具有编码的“= dateadd(”m“, - 1,dateserial(year(Today()),month(Today()),1))”。在我的一个领域,这给了我一个输出(例如2017年5月1日)。我需要能够提取月份名称并将其转换为月份编号。 (从1 - 5-2017(当前) - > 5(期望输出))将月份名称转换为月份编号SSRS

+0

你试过一个月的功能? – maSTAShuFu

回答

1

以下应该工作:

=datepart("M",Parameters!DateParam.Value) 

=datepart("M",Today()) 

和你例如

=datepart("M",cDate("1 May 2017")) 

将返回。

- >对于所需的结果,离开FORMAT选项空白

+1

imo,它最好在指定datepart时总是使用整个术语。例如:= datepart(“月”,今天()),这使得它绝对明确你的意思,特别是月(米),以避免混淆分钟(mi) – Trubs

+1

@Trubs,你试过吗?我相信使用“月”是无效的。 – ViKiNG

+0

谢谢@ImRaN。我是个白痴。 (注意自己理解问题并在公开发布前测试你的工作!),我的评论涉及TSQL(甚至是错误的),正确的语法(对于TSQL)是'= DatePart(Month,GetDate() )', – Trubs

相关问题