SQL计算年龄

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL计算年龄相关的知识,希望对你有一定的参考价值。

有个表里有员工的出生日期,格式是2008-11-12;怎么增加一列年龄,计算出每个员工的年龄呢?

你好 你的问题不需要增加员工年龄这列

因为随着一年一年的时间,年龄是动态计算的

通常用 系统时间-出生日期 显示出来就可以了
Oracle
select round((sysdate - to_date('2008-01-01','YYYY-MM-DD'))/365,0)
from dual
;
SQL查询一下联机帮助文档
参考技术A ORACLE 用法:以月分计算的!
SELECT ROUND(MONTHS_BETWEEN(SYSDATE,BIRTH_DATE)/12,1) FROM TABLE

SQL里面应该也有类似的函数,实在不行只能用天数了/365了!
SELECT ROUND((SYSDATE-BIRTH_DATE)/365,1) FROM TABLE
参考技术B 首先alter table A add 'column name' varcahr2(50);
然后update table a set 'column name' =
SELECT TRUNC(MONTHS_BETWEEN(SYSDATE,'Birthdate')/12,0) FROM dual;
但是你是打算每年都更新吗。。。为什么要新增一列呢。。。
参考技术C SQL中的求和函数SUM( )用于对数据求和,返回选取结果集中所有值的总和。下面将为您介绍求和函数SUM( )的语法和应用的实例,供您参考。
语法如下。
SELECT SUM(column_name)
FROM table_name
说明:SUM()函数只能作用于数值型数据,即列column_name中的数据必须是数值型的。
实例1 SUM函数的使用
从TEACHER表中查询所有男教师的工资总数。TEACHER表的结构和数据可参见5.2.1节的表5-1,下同。实例代码:
SELECT SUM(SAL) AS BOYSAL
FROM TEACHER
WHERE TSEX='男'
TEACHER表中查询年龄大于40岁的教师的工资总数。实例代码:
SELECT SUM(SAL) AS OLDSAL
FROM TEACHER
WHERE AGE>=40
当对某列数据进行求和时,如果该列存在NULL值,则SUM函数会忽略该值。
参考技术D 用表格很容易是实现啊

Oracle PL/SQL 计算年龄

参考技术A 根据出生日期查询年龄用的还挺多的。
简单分析一下,加入一个孩子五岁半了,那习惯认为他还是5岁。
用Oracle提供的months_between()函数,先获取出生日期和当前日期的月数,然后除以12向下取整:

使用的时候,将时间段替换成出生日期对应的字段即可。

如果,计算年龄用的次数非常多,最好写成自定义函数。

以上是关于SQL计算年龄的主要内容,如果未能解决你的问题,请参考以下文章

Oracle PL/SQL 计算年龄

SQL语句如何根据出生日期计算年龄

SQL用身份证号计算年龄命令

sql中根据身份证号来计算年龄

SQL语句如何根据出生日期计算年龄

如何用SQL语句把出生日期计算年龄,比如是1984-2-16怎么算出年龄啊