程序员人生 网站导航

在sql server 2005存储过程中如何给时间赋值?

栏目:Sqlserver时间:2014-06-13 07:39:51
想实现 的内容是只要在table_two中的开始时间大于等于当前系统的前一天and小于等于当前系统的时间的数据,就insert到table_one中去,
以下为引用的内容:
CREATE PROCEDURE SP_TEST
@KSRQ(开始日期) datetime,
@today(结束日期) datetime

as
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取当前系统的日间,不要后面的时间.也是如果在过程中赋值.

答1:

以下为引用的内容:
create proc p_test
@t datetime
as

select @t
go
declare @t datetime
set @t = convert(datetime,'2007-11-2',120)
exec p_test @t
go
drop proc p_test
go

答2:
以下为引用的内容:
问题中@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 @ksrq

exec SP_TEST @today,@ksrq
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐