题目41 :按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一(就是根据出生日期算,每个人的年龄)

分析:要引入时间差函数TIMESTAMPDIFF  ,

时间差函数TIMESTAMPDIFF 的用法:

TIMESTAMPDIFF函数,有参数设置,可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。

select TIMESTAMPDIFF(DAY, 时间A ,时间B);

意思是比较: 时间A 与时间B相差的天数

那么针对这一题目,我们要用year:

 

 

select student.id as 学生编号,student.stdentname as 学生姓名,
TIMESTAMPDIFF(YEAR,student.age,CURDATE()) as 学生年龄
from student

 

 

【sql:练习题 41-45】时间的用法

 

 题目42:查询本周过生日的学生

select *
from student
where WEEKOFYEAR(student.age)=WEEKOFYEAR(CURDATE());

 

WEEKOFYEAR(date)

返回日期的日历星期数作为范围从1到53的数字。WEEKOFYEAR()是一个兼容性函数,等同于WEEK(日期,3)。

【sql:练习题 41-45】时间的用法

 

 

43:查询下周过生日的学生

分析:这题与上一题目是一样的,只不过预期时间晚一周

select *
from student
where WEEKOFYEAR(student.Sage)=WEEKOFYEAR(CURDATE())+1;

 

44:查询本月过生日的学生

select month(createtime) from life_unite_product   --取时间字段的月值

select *
from student
where MONTH(student.age)=MONTH(CURDATE());



【sql:练习题 41-45】时间的用法

 

45:查询下月过生日的学生

分析:
这题与上一题目是一样的,只不过预期时间晚一月

select *
from student
where MONTH(student.Sage)=MONTH(CURDATE())+1;



这一期都是跟时间有关的,时间相关的函数还有很多没有用到,先写这么多吧,后面遇到了再写

 

 
                    
            
                

相关文章:

  • 2022-12-23
  • 2022-03-05
  • 2021-07-23
  • 2021-07-29
  • 2021-04-11
  • 2021-08-09
  • 2022-12-23
猜你喜欢
  • 2021-11-29
  • 2021-12-10
  • 2022-12-23
  • 2021-08-05
  • 2022-12-23
  • 2022-01-20
  • 2022-02-07
相关资源
相似解决方案