如何实现年龄的自动计算? 在表 SK 中包含字段 出生年月,年龄如何实现年龄的自动计算,每年自动更新? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declare @date varchar(10)set @date='1978-08'select datediff(mm,@date+'-01',getdate())/12 update 年龄=datediff(mm,出生年月+'-01',getdate())/12 SELECT 年龄=DATEDIFF(yy,出生年月,GETDATE())实现每年自动更新,在年底或年初,并不是每个人都是年底或年初生的.这个没有意义。 因为每过一天都有人的年龄在变的应该说你的年龄字段是个冗佘字段,是不需要的 按子陌老大一楼写的那样就可以. 我觉得你这里需要的是SELECT不是UPDATE 我觉得只要比较年就可以了update tb set 年龄=datediff(year,出生日期,getdate()) libin_ftsafe(子陌红尘:当libin告别ftsafe)似乎可以设置年龄为一个计算列。---------------------------言之有理:)不过好像要表被更新后才会重新计算(getdate()那茬子) create table dbo.#(birth datetime,age as datediff(mm,birth,getdate())/12)insert into # select '19780206'insert into # select '19580306'insert into # select '19690406'insert into # select '19700506'insert into # select '19801006'select * from # birth age ------------------------------------------------------ ----------- 1978-02-06 00:00:00.000 281958-03-06 00:00:00.000 481969-04-06 00:00:00.000 371970-05-06 00:00:00.000 361980-10-06 00:00:00.000 25(5 row(s) affected) 安装sql server2008 帮忙解决一下啊! bcp数据导入 这是一个Access资料库的格式,要转换成SQL,请高手帮忙。 请高手告知,mssql server 2005下如何查询库表结构信息?? ***原创*** oracle数据库转换到Sqlserver的几点经验 求救ACCESS数据库字段分割统计 关于事务处理的效率问题 关于建立视图的难题,请大家帮忙。 时间处理 利用ado连接sql server的一个异常 Sql Server 批量插入数据的问题
set @date='1978-08'
select datediff(mm,@date+'-01',getdate())/12
这个没有意义。 因为每过一天都有人的年龄在变的应该说你的年龄字段是个冗佘字段,是不需要的
update tb set 年龄=datediff(year,出生日期,getdate())
---------------------------
言之有理:)不过好像要表被更新后才会重新计算(getdate()那茬子)
insert into # select '19580306'
insert into # select '19690406'
insert into # select '19700506'
insert into # select '19801006'select * from #
------------------------------------------------------ -----------
1978-02-06 00:00:00.000 28
1958-03-06 00:00:00.000 48
1969-04-06 00:00:00.000 37
1970-05-06 00:00:00.000 36
1980-10-06 00:00:00.000 25(5 row(s) affected)