广告位联系
返回顶部
分享到

MySQL中根据出生日期计算年龄两种方法

Mysql 来源:互联网 作者:佚名 发布时间:2024-05-22 21:47:15 人浏览
摘要

创建student表 1 2 3 4 5 6 mysql create table student( - sid int primary key comment 学生号, - sname varchar(20) comment姓名, - birth DATE comment 生日 - ); Query OK, 0 rows affected (0.01 sec) student表中插入数据 1 2 3 4 mysql insert

创建student表

1

2

3

4

5

6

mysql> create table student(                                                                           

    ->     sid int primary key comment '学生号',                                                       

    ->     sname varchar(20) comment'姓名',                                                            

    ->     birth DATE comment '生日'                                                                   

    -> );                                                                                              

Query OK, 0 rows affected (0.01 sec)

student表中插入数据

1

2

3

4

mysql> insert into student values (100,'张三','1999-12-12');                                           

Query OK, 1 row affected (0.00 sec)                                                                    

mysql> insert into student values (101,'李四','1996-8-15');                                            

Query OK, 1 row affected (0.01 sec)

 查询表中数据

1

mysql> select *  from student;

查询每个人的年龄

方法一:

curdate() 函数和 now() 函数的区别:

#在MySQL中,curdate( ) 和 now( ) 都是内置函数,用于获取日期和时间信息,但它们的返回值有所不同。

# curdate() 函数只返回当前日期部分,格式为'YYYY-MM-DD';

  now()函数则会返回当前的日期和时间,格式为'YYYY-MM-DD HH:MM:SS'

#因此,curdate( ) 和 now( ) 的主要区别在于,curdate( ) 只返回日期,而 now( ) 返回日期和时间。

year( )函数:

#在MySQL中,year( curdate( ) )是一个函数调用,它的作用是从当前日期(由curdate()函数返回)中提取出年份部分。

#因此这个 year()  函数通常用于获取当前年份,或者在进行日期比较或处理时,只关心年份部分。

mysql> select sname,year(curdate())-year(birth) as 年龄 from student;

方法二:

date_format( now(), '%Y') 函数和 date_format( birth, '%Y')函数:

#在MySQL中,date_format(now(),'%Y') 和date_format(birth,'%Y')是两个函数调用,它们的作用是从当前日期(由now()函数返回)和birth日期中提取出年份部分。

# %Y是一个格式代码,表示四位数的年份。

# 所以,date_format(now(),'%Y')返回的是当前年份,  date_format ( birth, '%Y')返回的是birth 日期的年份。

# date_format ( now(), '%Y')    -  date_format ( birth, '%Y')的结果就是当前年份减去 birth 日期的年份。这个表达式通常用于计算某人的年龄。

mysql> select sname,date_format(now(),'%Y')-date_format(birth,'%Y') as  年龄 from student;  

附:mysql知道年龄求出生日期

下面是完整的代码示例,包括获取当前日期和年龄、计算出生日期和使用MySQL函数实现计算。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

-- 获取当前日期和年龄

SELECT CURDATE();

 

SELECT YEAR('2000-01-01');

 

SELECT YEAR('2022-01-01') - YEAR('2000-01-01');

 

-- 计算出生日期

SET @current_year = YEAR(CURDATE());

SET @age = 30;

SET @birth_year = @current_year - @age;

 

SET @birth_date = CONCAT(@birth_year, '-01-01');

 

-- 使用MySQL函数实现计算

SET @current_date = CURDATE();

SET @birth_date = DATE_SUB(@current_date, INTERVAL @age YEAR);


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • MySQL数据导入导出的三种方法介绍
    基本概述 目前常用的有3中数据导入与导出方法: 使用mysqldump工具: 优点: 简单易用,只需一条命令即可完成数据导出。 可以导出表结构
  • MySQL中根据出生日期计算年龄两种方法

    MySQL中根据出生日期计算年龄两种方法
    创建student表 1 2 3 4 5 6 mysql create table student( - sid int primary key comment 学生号, - sname varchar(20) comment姓名, - birth DATE comment 生日 - ); Query OK, 0 row
  • 执行sql报错only_full_group_by的2种解决方法

    执行sql报错only_full_group_by的2种解决方法
    最近老项目换新数据库(都是mysql),有些在老数据库可以执行的sql,在新数据库执行就会报错,如下: 1 2 3 4 5 6 7 8 [SQL]SELECT * FROM bsc_user
  • MySQL升级PostgreSQL遇到的一些常见问题及解决方案
    CRUD问题 选择id在的逗号分隔的字符串所表示的数组中的行 如果要将字符串用于连接条件,则需要将字符串转换为适当的整数数组。 1 2 3 S
  • MySQL查看和优化数据库实例详细信息的命令
    在日常的数据库管理和维护中,查看和管理 MySQL 数据库实例是非常重要的任务。通过了解和监控数据库实例的状态,我们可以确保数据库的
  • mysql日期函数用法大全
    一、 返回当前日期 1、CURRENT_DATE()、CURRENT_DATE和CURDATE()用法相同:返回当前日期 2、CURRENT_TIME()、CURRENT_TIME和CURTIME()用法相同:返回当前时间
  • mysql排名的三种常见方式总结
    三种常见的排名 row_number、dense_rank、rank在MySQL 5.7中的实现 准备数据 表结构说明 成绩表 SC(SId,CId,score) SId 学?编号 CId 课程编号 score 分数 创建
  • MySQL导出ER图为图片或PDF的操作方法

    MySQL导出ER图为图片或PDF的操作方法
    1、Navicat 生成ER图 1、选择数据库,逆向数据库到模型 2、查看ER图 3、导出ER图 当我们选pdf格式的时候,发现导出的pdf不是一整张,而是分成
  • MySQL之union联合查询的实现介绍

    MySQL之union联合查询的实现介绍
    UNION 的含义是联合,并集,结合,在MySQL中可以将多个查询语句的结果合并成一个结果集,在MySQL 不支持FULL OUTER JOIN 的情况下,弥补了并集
  • mysql8.0.29卸载问题小结介绍

    mysql8.0.29卸载问题小结介绍
    提要(废话): 最近我将笔记本重装了,为了保留之前的程序,我把相关的注册表和环境备份了下来,重装之后重新导入成功再现了部分软
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计