(1)
我用GETDATE()得到当前的日期
现在我想在当前日期的基础上加上45天,或30天,通用的话的是N天
想请教各位SQL Server 里面有没有专门的函数啊
没有的话,怎么解决呢?
(2)我现在有两个smalldatetime 类型的日期
比如: '2002-10-10' '2003-3-5'
我怎样才能够得到他们之间天数的差值呢?
(3)我现有一张表 其中有两个关于时间的字段
A1 smalldatetime
A2 smalldatetime
如果当前日期超过A2的日期
则自动触发将这条纪录删除
这个好像是时间触发啊,那位能不能写个触发的例子给小弟瞧一瞧啊
(4)各位在回答时麻烦写一下是哪道问题,小弟再次感谢大家了
7 个解决方案
#1
1. 用dateadd(),如
select dateadd(day, getdate(), 45)
select dateadd(day, getdate(), 30)
2. 用datediff(),如
select datediff(day, '2002-10-10', '2003-3-5')
select dateadd(day, getdate(), 45)
select dateadd(day, getdate(), 30)
2. 用datediff(),如
select datediff(day, '2002-10-10', '2003-3-5')
#2
1,dateadd(day,12,'1949-01-01')
2,datediff
3,触发器只能当数据更新时候才能触发,做个存储过程然后定期作业触发吧
2,datediff
3,触发器只能当数据更新时候才能触发,做个存储过程然后定期作业触发吧
#3
1. dateadd('d',getdate())
2.datediff('d','2002-10-10',2003-3-5')
3.要用计划任务吧。触发器不适合。
4.
2.datediff('d','2002-10-10',2003-3-5')
3.要用计划任务吧。触发器不适合。
4.
#4
先谢谢各位的指点
大家的热心帮助让小弟再次感动
victorycyz 大哥说的计划任务
是不是就是bamboo说的定期执行的存储过程啊?
大家的热心帮助让小弟再次感动
victorycyz 大哥说的计划任务
是不是就是bamboo说的定期执行的存储过程啊?
#5
前面两个问题已解决
#6
(1)
我用GETDATE()得到当前的日期
现在我想在当前日期的基础上加上45天,或30天,通用的话的是N天
想请教各位SQL Server 里面有没有专门的函数啊
没有的话,怎么解决呢?
dateadd(day,45,getdate()), dateadd(day,30,getdate())
(2)我现在有两个smalldatetime 类型的日期
比如: '2002-10-10' '2003-3-5'
我怎样才能够得到他们之间天数的差值呢?
datediff(day,'2002-10-10','2003-3-5')
(3)我现有一张表 其中有两个关于时间的字段
A1 smalldatetime
A2 smalldatetime
如果当前日期超过A2的日期
则自动触发将这条纪录删除
这个好像是时间触发啊,那位能不能写个触发的例子给小弟瞧一瞧啊
最好用job
你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行
EXEC sp_add_job @job_name = '作业名字'
EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = 'delete 表 where getdate()>A2 ', --此次写你的删除语句,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间
(4)各位在回答时麻烦写一下是哪道问题,小弟再次感谢大家了
写好了,不用谢。
我用GETDATE()得到当前的日期
现在我想在当前日期的基础上加上45天,或30天,通用的话的是N天
想请教各位SQL Server 里面有没有专门的函数啊
没有的话,怎么解决呢?
dateadd(day,45,getdate()), dateadd(day,30,getdate())
(2)我现在有两个smalldatetime 类型的日期
比如: '2002-10-10' '2003-3-5'
我怎样才能够得到他们之间天数的差值呢?
datediff(day,'2002-10-10','2003-3-5')
(3)我现有一张表 其中有两个关于时间的字段
A1 smalldatetime
A2 smalldatetime
如果当前日期超过A2的日期
则自动触发将这条纪录删除
这个好像是时间触发啊,那位能不能写个触发的例子给小弟瞧一瞧啊
最好用job
你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行
EXEC sp_add_job @job_name = '作业名字'
EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = 'delete 表 where getdate()>A2 ', --此次写你的删除语句,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间
(4)各位在回答时麻烦写一下是哪道问题,小弟再次感谢大家了
写好了,不用谢。
#7
结贴了
谢谢
真的太感谢了
谢谢
真的太感谢了
#1
1. 用dateadd(),如
select dateadd(day, getdate(), 45)
select dateadd(day, getdate(), 30)
2. 用datediff(),如
select datediff(day, '2002-10-10', '2003-3-5')
select dateadd(day, getdate(), 45)
select dateadd(day, getdate(), 30)
2. 用datediff(),如
select datediff(day, '2002-10-10', '2003-3-5')
#2
1,dateadd(day,12,'1949-01-01')
2,datediff
3,触发器只能当数据更新时候才能触发,做个存储过程然后定期作业触发吧
2,datediff
3,触发器只能当数据更新时候才能触发,做个存储过程然后定期作业触发吧
#3
1. dateadd('d',getdate())
2.datediff('d','2002-10-10',2003-3-5')
3.要用计划任务吧。触发器不适合。
4.
2.datediff('d','2002-10-10',2003-3-5')
3.要用计划任务吧。触发器不适合。
4.
#4
先谢谢各位的指点
大家的热心帮助让小弟再次感动
victorycyz 大哥说的计划任务
是不是就是bamboo说的定期执行的存储过程啊?
大家的热心帮助让小弟再次感动
victorycyz 大哥说的计划任务
是不是就是bamboo说的定期执行的存储过程啊?
#5
前面两个问题已解决
#6
(1)
我用GETDATE()得到当前的日期
现在我想在当前日期的基础上加上45天,或30天,通用的话的是N天
想请教各位SQL Server 里面有没有专门的函数啊
没有的话,怎么解决呢?
dateadd(day,45,getdate()), dateadd(day,30,getdate())
(2)我现在有两个smalldatetime 类型的日期
比如: '2002-10-10' '2003-3-5'
我怎样才能够得到他们之间天数的差值呢?
datediff(day,'2002-10-10','2003-3-5')
(3)我现有一张表 其中有两个关于时间的字段
A1 smalldatetime
A2 smalldatetime
如果当前日期超过A2的日期
则自动触发将这条纪录删除
这个好像是时间触发啊,那位能不能写个触发的例子给小弟瞧一瞧啊
最好用job
你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行
EXEC sp_add_job @job_name = '作业名字'
EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = 'delete 表 where getdate()>A2 ', --此次写你的删除语句,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间
(4)各位在回答时麻烦写一下是哪道问题,小弟再次感谢大家了
写好了,不用谢。
我用GETDATE()得到当前的日期
现在我想在当前日期的基础上加上45天,或30天,通用的话的是N天
想请教各位SQL Server 里面有没有专门的函数啊
没有的话,怎么解决呢?
dateadd(day,45,getdate()), dateadd(day,30,getdate())
(2)我现在有两个smalldatetime 类型的日期
比如: '2002-10-10' '2003-3-5'
我怎样才能够得到他们之间天数的差值呢?
datediff(day,'2002-10-10','2003-3-5')
(3)我现有一张表 其中有两个关于时间的字段
A1 smalldatetime
A2 smalldatetime
如果当前日期超过A2的日期
则自动触发将这条纪录删除
这个好像是时间触发啊,那位能不能写个触发的例子给小弟瞧一瞧啊
最好用job
你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行
EXEC sp_add_job @job_name = '作业名字'
EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = 'delete 表 where getdate()>A2 ', --此次写你的删除语句,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间
(4)各位在回答时麻烦写一下是哪道问题,小弟再次感谢大家了
写好了,不用谢。
#7
结贴了
谢谢
真的太感谢了
谢谢
真的太感谢了