加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 12:33:27 所属栏目:MsSql教程 来源:网络整理
导读:想实现 的内容是只要在table_two中的开始时间大于等于当前系统的前一天and小于等于当前系统的时间的数据,就insert到table_one中去, 以下为引用的内容: CREATE PROCEDURE SP_TEST @KSRQ(开始日期) datetime, @today(结束日期) datetime as being insert into
以下为引用的内容:
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

想实现 的内容是只要在table_two中的开始时间大于等于当前系统的前一天and小于等于当前系统的时间的数据,就insert到table_one中去,
    推荐文章
      热点阅读