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

用时间函数如getdate(),要用当前系统时间赋给变量,参与后面的判断谢谢大家。想了个办法搞定了。时间函数不能直接赋给存储过程的参数,... 用时间函数如getdate(),要用当前系统时间赋给变量,参与后面的判断

谢谢大家。想了个办法搞定了。 时间函数不能直接赋给存储过程的参数,
展开
 我来答
pipishaw
2011-06-05
知道答主
回答量:19
采纳率:0%
帮助的人:8.1万
展开全部
存储过程里参数的默认值不能使用函数,所以不能在存储过程里直接把参数的默认值设置为当前系统时间,不过可以在存储过程里赋值。还有一点疑问,既然@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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a3acfe284
2011-05-26 · 超过12用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:30.5万
展开全部
declare @StartTime datetime --声明变量
set @StartTime =(select getdate())
select @StartTime
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haoluogaga
2011-05-25 · TA获得超过2378个赞
知道小有建树答主
回答量:1265
采纳率:0%
帮助的人:1014万
展开全部
declare @StartTime datetime --声明变量
set @StartTime = '2011-1-1' --赋值

getdate()获取的是当前系统时间

declare @StartTime datetime
set @StartTime = getdate()
更多追问追答
追问
就是要用当前系统时间赋给变量,参与后面的判断    

ALTER PROCEDURE [dbo].[存储过程名]
declare @StartTime datetime
set @StartTime = getdate()
提示语法错误。
追答
你整个存储过程的结构都没写直接写代码 当然错了。你把想法都写完把 别写个半边看不明白。你这种条件不需要存储过程。就直接SQL语句就可以实现了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华夏日长兴
2011-05-25 · TA获得超过9592个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3688万
展开全部
如'2011-05-05'这样的就可以
追问
用时间函数如getdate()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式