| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖
标题:Job问题
只看楼主 加入收藏
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
 问题点数:0 回复次数:0 
Job问题

大家都知道SQL Server里可以写作业,也可以反复执行,

但我刚才去看,他的最大的限度是一个月,但是我要每年的一时间触发怎么办?

我的意思就是说怎么使表中的年龄字段在每年的1月1日增加1呢?

请指教,谢谢

LouisXIV 版主记得上次,你给我讲过用视图,由于当时原因也没过深的研究,有许多地方不懂的地方,还请讲解


以下是引用LouisXIV在2006-5-31 13:19:00的发言:

begin tran

create table #temp1
(
name varchar(10),
birthday smalldatetime
)

insert into #temp1
select
'Peter','1980-5-30'
union
select
'Cathy','1980-5-31'
union
select
'Nancy','1980-6-1'

select *
from #temp1

select name,
case
when datepart(m,getdate())>datepart(m,birthday)
then datediff(year,birthday,getdate())
when datepart(m,getdate())=datepart(m,birthday) and datepart(d,getdate())>=datepart(d,birthday)
then datediff(year,birthday,getdate())
when datepart(m,getdate())=datepart(m,birthday) and datepart(d,getdate())<datepart(d,birthday)
then datediff(year,birthday,getdate())-1
when datepart(m,getdate())<datepart(m,birthday)
then datediff(year,birthday,getdate())-1
end as Age
from #temp1

rollback tran

你可以把最后一个查询建立成一个视图
Case条件应该可以进一步统合一下,如果觉得有必要的话你自己研究一下好了,顺便说一下,本来我考虑用datepart的dy参数,但是考虑到对于闰年可能会出问题(没有测试,纯属想象)。所以用了这个比较复杂条件选择


---------------------
用视图能实现这功能吗?

能讲讲原理吗?

视图能操作数据库(我愚昧勿怪)?

搜索更多相关主题的帖子: Job 
2006-07-26 15:00
快速回复:Job问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011245 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved