怎么给时间变量赋值?

mustudent 2006-01-15 05:03:58
在存储过程里面可以用Set @var=...给变量赋值 但是要是变量是时间类型的 而且 我不想给整个时间赋值 只给他的一部分 比如月份 用Set Month(@时间变量)=...提示错误 应该怎么做哪?〉
...全文
550 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mustudent 2006-01-19
  • 打赏
  • 举报
回复
不太懂啊?怎么用啊?
mustudent 2006-01-19
  • 打赏
  • 举报
回复
谢谢了 结帖子
QQMagicer 2006-01-19
  • 打赏
  • 举报
回复
declare @var int,
@时间变量 datetime

select @var = 5
select @时间变量 = getdate()

select @时间变量
结果为:
--
2006-01-19 14:47:22.210

set @时间变量 = dateadd(month ,@var,@时间变量)

--这句的含义是给@时间变量的月份增加5个月,其他如果是天可以换为:
--set @时间变量 = dateadd(day ,@var,@时间变量)
--年可以换为
--set @时间变量 = dateadd(year ,@var,@时间变量)


select @时间变量

结果为:
--
2006-06-19 14:47:22.210

白发程序猿 2006-01-19
  • 打赏
  • 举报
回复
去找一下dateadd函数的帮助看看吧
$扫地僧$ 2006-01-17
  • 打赏
  • 举报
回复
eg:select getdate()

--天
select dateadd(dd,1,getdate())
select dateadd(dd,-1,getdate())

--月
select dateadd(mm,1,getdate())
select dateadd(mm,-1,getdate())
--年

select dateadd(yy,1,getdate())
select dateadd(yy,-1,getdate())
$扫地僧$ 2006-01-17
  • 打赏
  • 举报
回复
dateadd
mustudent 2006-01-17
  • 打赏
  • 举报
回复
我是说给时间的每一个部分赋值 不是整个时间 你不如 现在系统时间是12月 变量的时间就要是1如果系统的时间是1月份 就要变成是2 以此类推 然后 给 年 和 天 赋值
rfq 2006-01-16
  • 打赏
  • 举报
回复
declare @dteNow datetime
set @dteNow='1998-1-1'
mustudent 2006-01-15
  • 打赏
  • 举报
回复
关键是还有通过赋值后的时间变量来判断时间范围那
lsqkeke 2006-01-15
  • 打赏
  • 举报
回复
declare @a int
set @a=month(时间变量)

对时间变量赋值必须要有至少年月日的时间成分
不可以对其中的一个单独赋值
lsqkeke 2006-01-15
  • 打赏
  • 举报
回复
set @a int
set @a=month(时间变量)
mislrb 2006-01-15
  • 打赏
  • 举报
回复
哪你设整数变量不就行了

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧