作业帮 > 综合 > 作业

数据库表中只有“出生日期”没有“年龄”.我想统计一个表中数据的平均年龄怎么统计?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/09 06:26:20
数据库表中只有“出生日期”没有“年龄”.我想统计一个表中数据的平均年龄怎么统计?
数据库表中只有“出生日期”没有“年龄”.我想统计一个表中数据的平均年龄怎么统计?
不知道你什么数据库啊

如果是 Oracle
SELECT
AVG ( (sysdate - 出生日期) / 365 )
FROM


如果是 SQL Server
SELECT
AVG ( DATEDIFF(yy, 出生日期, GETDATE()) )
FROM

再问: 是oracle。这个数字准确吗?
再答: sysdate = 今天的 时间 sysdate - 出生日期 = 出生到今天的 天数 (sysdate - 出生日期) / 365 = 计算出来的岁数 (没有取整, 没有考虑闰年) 要取整的话, 加一个 trunc 函数 AVG ( TRUNC( (sysdate - 出生日期) / 365 ) ) 下面是一个例子, 计算 1981年1月2日出生的人的年龄。 SQL> select trunc( (sysdate - TO_DATE('19810102', 'YYYYMMDD') ) / 365 ) TEST from dual; TEST ---------- 31