Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从当前月份获取以前12个月的名称/id_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 从当前月份获取以前12个月的名称/id

Sql 从当前月份获取以前12个月的名称/id,sql,sql-server,tsql,Sql,Sql Server,Tsql,有谁能帮我从当前日期(月)起获取过去12个月的姓名。 我想在slq服务器中进行此查询。为什么不提供一个简单的获取日期 SELECT name FROM [yourtable] WHERE [tabledate] >= DATEADD(month, -12, GETDATE()) 这就是你的意思 另一方面,如果这是您需要的解决方案,那么谷歌有很多快速搜索的例子。因为这是常见的语句。需要sql server 2008 select datename(m,dateadd(m,-a,curren

有谁能帮我从当前日期(月)起获取过去12个月的姓名。
我想在slq服务器中进行此查询。

为什么不提供一个简单的获取日期

SELECT name FROM [yourtable] WHERE
[tabledate] >= DATEADD(month, -12, GETDATE())
这就是你的意思


另一方面,如果这是您需要的解决方案,那么谷歌有很多快速搜索的例子。因为这是常见的语句。

需要sql server 2008

select datename(m,dateadd(m,-a,current_timestamp)) monthname,
       datepart(m,dateadd(m,-a,current_timestamp)) id
from (values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)) x(a)
结果:

monthname  id
December   12
November   11
October    10
September   9
August      8
July        7
June        6
May         5
April       4
March       3
February    2
January     1

您可以为解决方案使用公共表表达式:

;WITH DateRange AS(
    SELECT GETDATE() Months
    UNION ALL
    SELECT DATEADD(mm, -1, Months)
    FROM   DateRange

    WHERE Months > DATEADD(mm, -11, GETDATE())
)

SELECT DateName(m, Months) AS Months, Month(Months) AS ID FROM DateRange
按顺序显示以前的月份:

    Months                         ID
------------------------------ -----------
January                        1
December                       12
November                       11
October                        10
September                      9
August                         8
July                           7
June                           6
May                            5
April                          4
March                          3
February                       2

到目前为止你试过什么?请发布您一直在使用的代码。您希望包括当前月份还是仅包括前12个月?