mysql测试表格的年龄的语句是_mysql根据出生日期得到年龄的SQL

本文介绍了在MySQL、Oracle和SQL Server中计算年龄的不同SQL语句。在MySQL中,使用`DATEDIFF`和`CURDATE()`结合计算;Oracle中通过`MONTHS_BETWEEN`和`SYSDATE`函数;而在SQL Server中,利用`DATEDIFF`函数。此外,还展示了`CASE`语句在MySQL中的应用以及`DATEDIFF`和`TIMEDIFF`函数的使用示例。
摘要由CSDN通过智能技术生成

MYSQL中年龄的计算:

select emp_name,emp_sex,emp_birth,curdate(),(year(curdate())-year(emp_birth)+(DATE_FORMAT(emp_birth,'%m%d')&lt=(DATE_FORMAT(curdate(),'%m%d')))) as '年龄' from employee;

Oracle中年龄的计算:

SELECT Trunc(MONTHS_BETWEEN(SYSDATE,BIRTH_DATE)/12) FROM 某表

Trunc函数在这里对带有小数位数的数字取整数部分;

SYSDATE为oracle的获取当前日期的函数;

BIRTH_DATE为我自己的数据库表中存储生日日期的字段。

Sql Server中年龄的计算:

select datediff(year,birthdate,getDate()) as '年龄' from 表名;

Case when then else 用法:

select emp_id,emp_name,emp_joindate,case when (year(curdate())-year(emp_joindate))&gt=1 then '元老级员工' else '即将成为员老级员工' end from employee;

Mysql中datediff()与timediff()的用法:

DATEDIFF() 返回起始时间 expr和结束时间expr2之间的天数。Expr和expr2 为日期或 date-and-time 表达式。计算中只用到这些值的日期部分。

mysql&gt SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');

-&gt 1

mysql&gt SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');

-&gt -31

================

当前日期用curdate() 来获取.

TIMEDIFF() 返回起始时间 expr 和结束时间expr2 之间的时间。 expr 和expr2 为时间或 date-and-time 表达式,两个的类型必须一样。

mysql&gt SELECT TIMEDIFF('2000:01:01 00:00:00',

-&gt '2000:01:01 00:00:00.000001');

-&gt '-00:00:00.000001'

mysql&gt SELECT TIMEDIFF('1997-12-31 23:59:59.000001',

-&gt '1997-12-30 01:01:01.000002');

-&gt '46:58:57.999999'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值