表:colId(int) colMoney(money) colDate(datetime)
1 100 2009/10/23 23:33
2 -20 2009/10/24 1:22
3 150 2009/10/28 9:33
4 -90 2009/10/30 20:00
5 -200 2010/1/1 12:22
6 300 2010/2/3 13:00需要写一个存储过程:CREATE PROCEDURE getMonthTotal
(
@AbsoluteMonth INT
)
AS传入的 @AbsoluteMonth 是外部由 年*月 得来,比如2009年的10月,外部会先进行 2009*10 的计算,然后传入 20090 给 @AbsoluteMonth。现在要求通过这个 @AbsoluteMonth,查询表内所有符合的条件(例如20090,就是要查询表内所有 2009年10月的数据)。
1 100 2009/10/23 23:33
2 -20 2009/10/24 1:22
3 150 2009/10/28 9:33
4 -90 2009/10/30 20:00
5 -200 2010/1/1 12:22
6 300 2010/2/3 13:00需要写一个存储过程:CREATE PROCEDURE getMonthTotal
(
@AbsoluteMonth INT
)
AS传入的 @AbsoluteMonth 是外部由 年*月 得来,比如2009年的10月,外部会先进行 2009*10 的计算,然后传入 20090 给 @AbsoluteMonth。现在要求通过这个 @AbsoluteMonth,查询表内所有符合的条件(例如20090,就是要查询表内所有 2009年10月的数据)。
解决方案 »
- SQL Server 2005 求助
- SQL??
- SQL-Server注册问题(请大家帮个忙~~)
- 在存储过程执行drop column出错
- windows 2000系统下,mysql报错:在 本地计算机 无法终止mysql服务 错误1053:服务并未及时响应启动或控制请求
- 急死我了,下拉框还是没值?
- 怎么样在我原有的某一列的数据后面添加字符
- SQL Server:在单机上作开发,如果不用网卡......
- ms sql server的系统存储过程中,经常用到的竟有那些,比如说,得到访问SQL SERVER 数据库的人数的存储过程
- 利用VB6。0怎样连接ORACLE8
- 如何联合三个表查询出想要的结果呢?小菜鸟求救,谢谢!
- 又是个统计的SQL语句问题!~~
declare @t table([colId(int)] int,[colMoney(money)] int,[colDate(datetime)] datetime)
insert @t
select 1,100,'2009/10/23 23:33' union all
select 2,-20,'2009/10/24 1:22' union all
select 3,150,'2009/10/28 9:33' union all
select 4,-90,'2009/10/30 20:00' union all
select 5,-200,'2010/1/1 12:22' union all
select 6,300,'2010/2/3 13:00'
select * from @t where year([colDate(datetime)])*MONTH([colDate(datetime)]) = @int ---------------、
1 100 2009-10-23 23:33:00.000
2 -20 2009-10-24 01:22:00.000
3 150 2009-10-28 09:33:00.000
4 -90 2009-10-30 20:00:00.000
go
CREATE PROCEDURE getMonthTotal
(
@AbsoluteMonth varchar(6)
)
AS
select * from table1 where convert(varchar(6),colDate,112)=@AbsoluteMonth
goexec getMonthTotal '201009'
select * from tableName where year(colDate)*Month(colDate)=@AbsoluteMonth