sql server关于DateTime格式检索、别名的问题
原始的sql server表格式类似于,其中Time列为DateTime格式:
NameCountTime
路由器32012.12.1
交换机22011.12.1
防火墙32010.12.1
集线器42012.8.1
路由器52012.12.1
交换机12008.12.1
防火墙22009.12.1
集线器62011.8.1
想要检索出一个每年发放多少设备的表格,格式如下,其中Time列不是DataTime,是字符:
NameCountTime
设备12008年
设备22009年
设备32010年
设备82011年
设备122012年
设想了一下,应该是要用存储过程,将2008,...,2012作为参数传递进去,select xxx where Time<2010 and Time >2011之类的方式来检索返回结果,但是还是不清楚具体怎么写代码实现,想问下大家意见。要求检索输出的格式要严格如上,无论是sql语句或是存储过程实现皆可,请指教,谢谢! SQL?Server 存储过程 datetime
[解决办法]
SELECT
Name = N'设备',
[COUNT] = SUM([COUNT]),
[TIME] = LTRIM(YEAR([Time])) + N'年'
FROM tablename
GROUP BY YEAR([Time])
ORDER BY [TIME]
select Nmae,sum(count)qty,year from(
select Name,count,CONVERT(nvarchar(4),time,112)+'年' as year from Table
)base
group by Nmae,year
order by year