当前位置:  开发笔记 > 编程语言 > 正文

从SQL Server 2005中的日期时间获取月份和年份

如何解决《从SQLServer2005中的日期时间获取月份和年份》经验,为你挑选了9个好方法。

我需要SQL Server中日期时间的月份+年份,如'2008年1月'.我按月,年分组查询.我搜索并找到了像datepart,convert等函数,但它们似乎都没有用.我在这里错过了什么吗?这有功能吗?



1> HS...:
select 
datepart(month,getdate()) -- integer (1,2,3...)
,datepart(year,getdate()) -- integer
,datename(month,getdate()) -- string ('September',...)


@ jp2code**month**和**year**基本上是这里定义的常量:http://msdn.microsoft.com/en-us/library/ms174420.aspx.TSQL通过阅读它们来理解它们,就像读取它们一样:)

2> robsoft..:

如果你的意思是你希望它们以字符串形式返回,那就是那种格式;

SELECT 
  CONVERT(CHAR(4), date_of_birth, 100) + CONVERT(CHAR(4), date_of_birth, 120) 
FROM customers

以下是其他格式选项



3> CrimsonKing..:

从SQL Server 2012开始,您可以使用:

SELECT FORMAT(@date, 'yyyyMM')



4> 小智..:

使用:

select datepart(mm,getdate())  --to get month value
select datename(mm,getdate())  --to get name of month



5> Mike Geise..:

有趣的是,我只是在SQL Server和LINQ中编写同样的查询.

SELECT 
    DATENAME(mm, article.Created) AS Month, 
    DATENAME(yyyy, article.Created) AS Year, 
    COUNT(*) AS Total 
FROM Articles AS article 
GROUP BY 
    DATENAME(mm, article.Created), 
    DATENAME(yyyy, article.Created) 
ORDER BY Month, Year DESC

它产生以下输出(例子).

Month | Year | Total

January | 2009 | 2



6> 小智..:

在SQL Server 2012中,可以使用以下内容

选择FORMAT(getdate(),'MMM yyyy')

这给出了精确的"2016年6月"



7> GordyII..:

这个怎么样?

Select DateName( Month, getDate() ) + ' ' + DateName( Year, getDate() )



8> SQLMenace..:

该格式不存在。您需要将两件事结合起来,

select convert(varchar(4),getdate(),100)  + convert(varchar(4),year(getdate()))



9> 小智..:
( Month(Created) + ',' + Year(Created) ) AS Date

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有