美文网首页
一道关于生日计算的简单mysql题目

一道关于生日计算的简单mysql题目

作者: 我住永安当 | 来源:发表于2023-07-21 00:31 被阅读0次

一看到有关日期的题目,无论是否复杂,都有些头痛。这部分的函数很多,不熟悉。
今天做到一个简单的题目:
要求:1、查询各学生的年龄
2、字段要求及顺序:学号(sid)、姓名(sname)、年龄

仅截取部分数据,主要理解表结构
标准答案(会造成误差)
select 
    sid
    ,sname
    ,year(curdate())-year(sage) as age
from student;

两种实现需求的mysql查询语句如下:

select 
    sid
    ,sname
    ,if(month(curdate())-month(sage)>0,year(curdate())-year(sage),year(curdate())-year(sage)-1) as age
from student;
#思路比较简单:
#判断如果当前日期的月份大于出生日期的月份,则直接用年份相减。
#如果当前日期的月份小于出生日期的月份,则用年份想减得到的差还要减1才能得到年龄。
image.png
有差异的一行数据

另一个方法的思路是来自于根据出生日期计算年龄。这里的出生日期大都在1990年,因此不存在from_days()中的参数为负数的情况,可以直接使用。

select
  sid,
  sname,
  year(from_days(datediff(curdate(), date(sage)))) as age
from
  student;

有差异的一行数据

相关文章

  • RSA 加密算法主要公式

    从一道计算题开始了解 RSA 非对称加密算法的主要公式。 计算问题 下面是一道关于 RSA 计算的问题,比较简单,...

  • RSA 加密算法主要公式 - 草稿

    从一道计算题开始了解 RSA 非对称加密算法的主要公式。 计算问题 下面是一道关于 RSA 计算的问题,比较简单,...

  • 如何正确的辅导孩子完成作业

    今天,一个朋友在群里发了一道小学数学题目出来,问如何解答。这是一道关于分数的题目(下图),题目其实很简单,就是填假...

  • 10.5作业

    题目一:简单输出 题目二:计算圆的面积

  • 10.5

    题目一:简单输出 题目二:计算圆的面积

  • 2017.10.05

    题目一:简单输出 题目二:计算圆的面积

  • 10.5

    题目一:简单输出 题目二:计算圆的面积

  • 17-10-05作业

    题目一:简单输出 题目二:计算圆的面积

  • 10.5

    题目一:简单输出 题目二:计算圆的面积

  • 10.5 作业

    题目一 简单输出 题目二 计算圆的面积

网友评论

      本文标题:一道关于生日计算的简单mysql题目

      本文链接:https://www.haomeiwen.com/subject/wjttpdtx.html