1.简单写法:
SELECT datename(YEAR,N_ReleaseDate)+'-'+datename(MONTH,N_ReleaseDate) as Time,count(*) as Amount
FROM [dbo].[News] group by datename(YEAR,N_ReleaseDate),datename(MONTH,N_ReleaseDate)
2.复杂的写法:
SELECT CONVERT(varchar(5),datepart(YEAR,N_ReleaseDate))+'-'+RIGHT('0'+convert(varchar(5),datepart(MONTH,N_ReleaseDate)),2) as Time,count(*) as Amount
FROM [dbo].[News] group by datepart(YEAR,N_ReleaseDate),datepart(MONTH,N_ReleaseDate)
两种方法执行结果一样:
顺便说一下datetime和datapart的区别: