
sqlserver 存储过程要传时间的值 我要取1年的数据 怎么实现啊?
alterPROCgetMoreas--execgetMoreDECLARE@nowtempdatetimeDECLARE@sqlvarchar(max)set@nowt...
alter PROC getMore
as
-- exec getMore
DECLARE @nowtemp datetime
DECLARE @sql varchar(max)
set @nowtemp='20140101'
while (@nowtemp <'20140103')
begin
print convert(varchar(10),@nowtemp ,112)
set @sql='execute FG_WD_TB_CIS_DRADVICE_DETAIL_ls '+''''+@nowtemp
print @sql
--exec FG_WD_TB_CIS_DRADVICE_DETAIL_ls '@nowtemp'
set @nowtemp = @nowtemp+1 展开
as
-- exec getMore
DECLARE @nowtemp datetime
DECLARE @sql varchar(max)
set @nowtemp='20140101'
while (@nowtemp <'20140103')
begin
print convert(varchar(10),@nowtemp ,112)
set @sql='execute FG_WD_TB_CIS_DRADVICE_DETAIL_ls '+''''+@nowtemp
print @sql
--exec FG_WD_TB_CIS_DRADVICE_DETAIL_ls '@nowtemp'
set @nowtemp = @nowtemp+1 展开
3个回答
展开全部
提问模糊,代码不完整并且有明显错误,没法准确回答你的问题。
mssql有很多日期时间类型函数可以使用,你需要1年数据,那么根据你execute的存储过程的参数要求,计算和拼接时间字符串就可以了,但格式从代码中看不出。
GETDATE() --获取当前日期时间
DATEADD(year,-1,GETDATE()) --获取1年前的时间
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询