iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >Mysql中如何通过生日计算年龄
  • 159
分享到

Mysql中如何通过生日计算年龄

2024-04-02 19:04:59 159人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“Mysql中如何通过生日计算年龄”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中如何通过生日计算年龄”这篇文章吧。方法一SE

这篇文章主要为大家展示了“Mysql中如何通过生日计算年龄”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中如何通过生日计算年龄”这篇文章吧。

方法一

SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age

方法一,作者也说出了缺陷,就是当日期为未来日期时结果为0,而不是负数;这里使用了5个函数和两个运算符。

方法二

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthday, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(birthday, '00-%m-%d')) AS age

方法二,解决了方法一为负数的问题,但看起来更复杂;这里使用了6个函数和3个运算符。

看了这篇贴子后,我就晕了,怎么会这么复杂,以前用SQL Server很简单就可以了。我坚信一定有简单高效的方法。很快就找到了根据以上方法改良后的方法。

改良后方法一和方法二

SELECT year( from_days( datediff( now( ), birthdate)));
SELECT YEAR(CURDATE())-YEAR(birthday)-(RIGHT(CURDATE(),5)<RIGHT(birthday,5));

改良后的方法一,少了一个函数和一个运算符,当日期为未来日期时计算结果还是为0;
改良后的方法二,还是6个函数和3个运算符,看起来简单些;取日期的右边五位,当日期格式为‘2013-01-01'时取到的是‘01-01',没有问题;当日期格式为‘2013-1-1'缩写格式时,取右边的五位取出的是‘3-1-1',会导致出错。

然后自己根据MYsql的帮助文档中的日期函数想到了第三种方法:

方法三

SELECT FLOOR(DATEDIFF(CURDATE(), @birthday)/365.2422)

取生日和当前日期之前的天数除以一年的实际天数(365天5小时48分46秒),然后取整。这样只用了三个函数和一个运算符就搞定了。

然后,很快在国外网站找到了第四种方法:

方法四

 SELECT TIMESTAMPDIFF(YEAR, @birthday, CURDATE())

这种方法只用了两个函数就搞定了,应该是最佳方法了。

测试了一下以上四种方法,假如当前日期为'2017-1-13',当生日为‘2013-1-14'时,还差一天就要过生日了,离4岁只 差一天了,结果还是3岁,感觉不是很合理;把方法三改造一下,四舍五入得到方法五:

方法五

SELECT ROUND(DATEDIFF(CURDATE(), @birthday)/365.2422)

这样计算出的年龄离实际的周岁最接近了,但可能方法四是最符合年龄定义的了。

以上是“Mysql中如何通过生日计算年龄”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql中如何通过生日计算年龄

本文链接: https://www.lsjlt.com/news/56419.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql中如何通过生日计算年龄
    这篇文章主要为大家展示了“Mysql中如何通过生日计算年龄”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql中如何通过生日计算年龄”这篇文章吧。方法一SE...
    99+
    2024-04-02
  • 如何在MySQL中从出生日期计算年龄?
    我们可以计算从出生日期算起的年龄,如下 -mysql> SET @dob = '1984-01-17'; Query OK, 0 rows affected (0.00 sec)上面的查询将在“dob”变量中传递值“1...
    99+
    2023-10-22
  • javascript如何计算年龄
    这篇文章主要介绍了javascript如何计算年龄,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 javascr...
    99+
    2024-04-02
  • PHP中根据出生年月日计算年龄的封装函数
    在 PHP 中,你可以使用以下函数来根据出生年月日计算年龄: 封装函数 function calculateAge($birthday) { $currentDate = date('Y-m-d...
    99+
    2023-09-25
    php
  • MySQL根据出生日期计算年龄的五种方法比较
    方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 缺陷,当日期为未来日期时结果为0,而不是负数; 这里用了5个函数和...
    99+
    2023-08-31
    mysql 数据库
  • MySQL根据出生日期查询年龄,以及对年龄进行分组统计
    表stu数据如下 根据出生日期查询年龄 SELECT TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) AS age FROM stu; 返回结果: 函数DATE():提取日期或日期/...
    99+
    2023-09-02
    mysql 数据库
  • 在 MySQL 中,我们如何通过提供年份、周数和星期几来计算日期?
    我们可以按如下方式计算日期 -mysql> SET @year=2017, @week=15, @day=4; Query OK, 0 rows affected (0.00 sec)上面的查询将分别在“year”、“week”和“d...
    99+
    2023-10-22
  • 数据库SQL函数 根据身份证号/出生年月 精确计算年龄(Oracle/MySQL)
    根据身份证号统计年龄(18位) Oracle (1)Substr()函数在Oracle使用中表示被劫取的字符串表达式,截取字符串的内容。 (2)To_date()函数可以转换不同格式的日期,通过使用to_date函数...
    99+
    2023-09-01
    数据库 oracle mysql sql Powered by 金山文档
  • c语言如何实现根据用户输入的出生年份并计算出当前年龄
    这篇文章主要讲解了“c语言如何实现根据用户输入的出生年份并计算出当前年龄”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言如何实现根据用户输入的出生年份并计算出当前年龄”吧!询问用户的出生...
    99+
    2023-07-05
  • 计算机中批处理如何实现万年日历
    这篇文章主要介绍了计算机中批处理如何实现万年日历,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。核心源码:: 月历查询工具 最初发表于CN-DOS::&nb...
    99+
    2023-06-08
  • 我们如何从 MySQL 表中找到年龄大于 30 岁的员工,并提供表中唯一的出生日期?
    为了理解这个概念,我们将使用表格‘emp_tbl’中的数据如下−mysql> Select * from emp_tbl; +--------+------------+ | Name | DOB | +-...
    99+
    2023-10-22
  • CSS如何通过计算实现水平垂直居中
    本篇内容主要讲解“CSS如何通过计算实现水平垂直居中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS如何通过计算实现水平垂直居中”吧! 1.子绝父相,直接...
    99+
    2024-04-02
  • jquery中如何计算日期差
    在jquery中计算日期差的方法:1.新建html项目,引入jquery;2.使用new Date()方法定义日期;3.对日期进行相减;4.使用floor函数计算日期差;具体步骤如下:首先,新建一个html项目,并在项目中引入jquery;...
    99+
    2024-04-02
  • mysql中如何计算日期和时间的间隔
    这篇文章主要介绍mysql中如何计算日期和时间的间隔,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:我们首先得明确一点,mysql间隔值主要用于日期和时间计算,如果我们要要创...
    99+
    2024-04-02
  • 如何通过Java编程实现高效的算法计算?
    Java是一种高效的编程语言,它可以帮助我们实现高效的算法计算。在本文中,我们将讨论如何通过Java编程实现高效的算法计算。我们将从算法的基础知识开始,然后介绍Java编程语言的一些核心概念,最后展示一些演示代码。 算法是解决问题的方法。在...
    99+
    2023-09-25
    编程算法 laravel 对象
  • Linux中mysql如何通过存储过程实现批量生成记录
    这篇文章将为大家详细讲解有关Linux中mysql如何通过存储过程实现批量生成记录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux 下mysql通过存储过程实现批量生成记录在开发中有一个这样的需求...
    99+
    2023-06-09
  • 我们如何使用函数来计算MySQL中的日期?
    在 MySQL 中,我们可以使用以下函数来计算日期 -CURDATE() 函数 - 基本上它返回计算机的当前日期。YEAR() 函数 - 它返回指定日期的年份。MONTH () 函数 - 返回指定日期的月份。DAY() 函数 - 返回指定日...
    99+
    2023-10-22
  • Mysql如何通过binlog日志恢复数据详解
    目录前言方法如下总结前言 MySQL的binlog日志是MySQL日志中非常重要的一种日志,记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的读写分离、数据增量备...
    99+
    2024-04-02
  • 如何通过grep 获取MySQL错误日志信息
    小编给大家分享一下如何通过grep 获取MySQL错误日志信息,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为方便维护MySQL...
    99+
    2024-04-02
  • MySQL中通过EXPLAIN如何分析SQL的执行计划详解
    前言 在MySQL中,我们可以通过EXPLAIN命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。 下面分别对EXPLAIN命令结果的每一列...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作