access数据的表中出生日期换算年龄问题

在一个表中,有出生日期一项,有年龄一项,如何将出生日期转换为年龄,并自动填入年龄一栏呢?... 在一个表中,有出生日期一项,有年龄一项,如何将出生日期转换为年龄,并自动填入年龄一栏呢? 展开
 我来答
jonqol
推荐于2016-11-20 · TA获得超过373个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
首先说如何根据出生日期查询得到年龄

SELECT birthday, DateDiff("yyyy", birthday, Now())+ Int( Format(now(), "mmdd") <= Format( birthday, "mmdd") ) as age from 表

这条语句亲测可用,查询结果如下(当前日期为2009-10-10)

birthday age
2000-9-1 9
2000-10-9 9
2000-10-10 8
2000-10-11 8
2000-11-1 8

其中,2000-10-10出生的话,按这个语句设定来讲,他是8岁,如果楼主想要设定在他过生日这天就长一岁,即:2000-10-10出生的人在2009-10-10这一天为9岁,将上面语句中的"<="换成"<"即可。

至于想要将"年龄"字段更新的话,建议听取ynisue的说法,年龄是变化的,没有必要去更新它。

自动填入"年龄"字段:

update table1
set age = DateDiff("yyyy", birthday, Now())+ Int( Format(now(), "mmdd") <= Format( birthday, "mmdd") )
ynisue
2009-10-10 · TA获得超过958个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:466万
展开全部
update 表
set 年龄=DateDiff('m',出生日期,Date())\12

其实年龄这个字段不应该要的,因为它是变化的。需要年龄时,根据出生日期和当前时间求得:
select DateDiff('m',出生日期,Date())\12 as 年龄 from 表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贲云蒉易云
2019-02-24 · TA获得超过3694个赞
知道大有可为答主
回答量:3063
采纳率:24%
帮助的人:151万
展开全部
首先说如何根据出生日期查询得到年龄
SELECT
birthday,
DateDiff("yyyy",
birthday,
Now())+
Int(
Format(now(),
"mmdd")
<=
Format(
birthday,
"mmdd")
)
as
age
from

这条语句亲测可用,查询结果如下(当前日期为2009-10-10)
birthday
age
2000-9-1
9
2000-10-9
9
2000-10-10
8
2000-10-11
8
2000-11-1
8
其中,2000-10-10出生的话,按这个语句设定来讲,他是8岁,如果楼主想要设定在他过生日这天就长一岁,即:2000-10-10出生的人在2009-10-10这一天为9岁,将上面语句中的"<="换成"<"即可。
至于想要将"年龄"字段更新的话,建议听取ynisue的说法,年龄是变化的,没有必要去更新它。
自动填入"年龄"字段:
update
table1
set
age
=
DateDiff("yyyy",
birthday,
Now())+
Int(
Format(now(),
"mmdd")
<=
Format(
birthday,
"mmdd")
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zipall
2009-10-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:8104
采纳率:42%
帮助的人:8532万
展开全部
在查询中

新建字段名

年龄: DateDiff("yyyy",[出生日期],Now())
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式