Sql 从当前月份获取以前12个月的名称/id
有谁能帮我从当前日期(月)起获取过去12个月的姓名。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
我想在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个月?