Sql server 将MonthName转换为月数SSRS

Sql server 将MonthName转换为月数SSRS,sql-server,reporting-services,ssrs-2012,Sql Server,Reporting Services,Ssrs 2012,我目前需要将月份名称转换为数字,以便编写代码。我的当前参数(StartMonth)的编码为“=dateadd(“m”、-1、dateserial(year(Today())、month(Today())、1”)。在我的一个领域,这给了我一个输出(例如2017年5月1日)。我需要能够提取月份名称,并将其转换为月份编号。(从2017年5月1日起(当前)->5(期望输出))以下各项应起作用: =datepart("M",Parameters!DateParam.Value) 或 你呢 =datepa

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

以下各项应起作用:

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

你呢

=datepart("M",cDate("1 May 2017"))
将返回5


->对于所需的结果,请将
格式
选项留空

您是否尝试了月份功能?imo,在指定日期部分时,最好始终使用完整术语。例如:=datepart(“Month”,Today()),这使您完全明确了您的意思,特别是Month(m)的意思,以避免对minute(mi)@Trubs的混淆,您试过了吗?我相信使用“月”是无效的。谢谢@ImRaN。我是个白痴。(请注意,在公开发布之前,自我理解问题并测试您的工作!),我的评论与TSQL有关(即使这是错误的),正确的语法(对于TSQL)是
=DatePart(Month,GetDate())
,在(糟糕的)尝试为讨论添加一些价值时,您也可以使用
=Month(Today())
。最后一个是完美的。
=datepart("M",cDate("1 May 2017"))