在sql server 2005存储过程中如何给时间变量赋值?
用时间函数如getdate(),要用当前系统时间赋给变量,参与后面的判断谢谢大家。想了个办法搞定了。时间函数不能直接赋给存储过程的参数,...
用时间函数如getdate(),要用当前系统时间赋给变量,参与后面的判断
谢谢大家。想了个办法搞定了。 时间函数不能直接赋给存储过程的参数, 展开
谢谢大家。想了个办法搞定了。 时间函数不能直接赋给存储过程的参数, 展开
4个回答
展开全部
存储过程里参数的默认值不能使用函数,所以不能在存储过程里直接把参数的默认值设置为当前系统时间,不过可以在存储过程里赋值。还有一点疑问,既然@myday是当前系统时间了,为什么还要做成参数呢?
CREATE PROCEDURE pro_test
@myday char(10)
AS
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day>@myday
GO
@myday不为参数时可以这么写
CREATE PROCEDURE pro_test
AS
declare @myday char(10)
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day>@myday
GO
CREATE PROCEDURE pro_test
@myday char(10)
AS
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day>@myday
GO
@myday不为参数时可以这么写
CREATE PROCEDURE pro_test
AS
declare @myday char(10)
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day>@myday
GO
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @StartTime datetime --声明变量
set @StartTime =(select getdate())
select @StartTime
set @StartTime =(select getdate())
select @StartTime
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @StartTime datetime --声明变量
set @StartTime = '2011-1-1' --赋值
getdate()获取的是当前系统时间
declare @StartTime datetime
set @StartTime = getdate()
set @StartTime = '2011-1-1' --赋值
getdate()获取的是当前系统时间
declare @StartTime datetime
set @StartTime = getdate()
更多追问追答
追问
就是要用当前系统时间赋给变量,参与后面的判断
ALTER PROCEDURE [dbo].[存储过程名]
declare @StartTime datetime
set @StartTime = getdate()
提示语法错误。
追答
你整个存储过程的结构都没写直接写代码 当然错了。你把想法都写完把 别写个半边看不明白。你这种条件不需要存储过程。就直接SQL语句就可以实现了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如'2011-05-05'这样的就可以
追问
用时间函数如getdate()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询