请问在sql server 2005存储过程中如何给时间赋值?
CREATE PROCEDURE SP_TEST
@KSRQ(开始日期) datetime,
@today(结束日期) datetimeas
being
insert into table_one (a,
b,
c)
select a,b,c from table_two where rq(时间)>=@ksrq and rq<=@today
end注:1.@KSRQ取当前系统前一天的时间,如今天是2007-11-2,就取2007-11-1,且只要当前系统的日期,不要后面的时间,如果在过程中给@KSRQ赋值.
2.@today取当前系统的日间,不要后面的时间.也是如果在过程中赋值.想实现 的内容是只要在table_two中的开始时间大于等于当前系统的前一天and小于等于当前系统的时间的数据,就insert到table_one中去,
谢谢了,小弟急等.
CREATE PROCEDURE SP_TEST
@KSRQ(开始日期) datetime,
@today(结束日期) datetimeas
being
insert into table_one (a,
b,
c)
select a,b,c from table_two where rq(时间)>=@ksrq and rq<=@today
end注:1.@KSRQ取当前系统前一天的时间,如今天是2007-11-2,就取2007-11-1,且只要当前系统的日期,不要后面的时间,如果在过程中给@KSRQ赋值.
2.@today取当前系统的日间,不要后面的时间.也是如果在过程中赋值.想实现 的内容是只要在table_two中的开始时间大于等于当前系统的前一天and小于等于当前系统的时间的数据,就insert到table_one中去,
谢谢了,小弟急等.
@ksrq = convert(varchar(10),dateadd(day,-1,getdate()),120)
create proc p_test
@t datetime
asselect @t
go
declare @t datetime
set @t = convert(datetime,'2007-11-2',120)
exec p_test @t
go
drop proc p_test
go
楼主的@today,@ksrq 是存储过程中的参数,需要在存储过程外面赋值
declare @today datetime,@ksrq datetime
declare @today varchar(10),@ksrq varchar(10)
set @today=convert(varchar(10),getdate(),120)
set @ksrq=convert(varchar(10),dateadd(day,-1,getdate()),120) --print @today
--print @ksrqexec SP_TEST @today,@ksrq