–46、查询各学生的年龄(周岁): – 按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一
方法一:
SELECT s_id,s_name,s_birth,s_sex, IF(MONTH(CURRENT_DATE)>MONTH(s_birth),YEAR(CURRENT_DATE)-YEAR(s_birth),YEAR(CURRENT_DATE)-YEAR(s_birth)-1) FROM student GROUP BY s_id,s_name,s_birth,s_sex方法二:
SELECT s_id,s_name,s_birth,s_sex, CASE WHEN MONTH(CURRENT_DATE)>MONTH(s_birth) THEN YEAR(CURRENT_DATE)-YEAR(s_birth) ELSE YEAR(CURRENT_DATE)-YEAR(s_birth)-1 END FROM student GROUP BY s_id,s_name,s_birth,s_sex– 47、查询本周过生日的学生:
weekofyear函数是计算出当前日期所在周数,返回日期用数字表示的范围是从1到53的日历周。
SELECT WEEKOFYEAR('2020-01-06'); =2 SELECT s_id,s_name,s_birth,s_sex FROM student WHERE WEEKOFYEAR(CURRENT_DATE)=WEEKOFYEAR(s_birth)– 48、查询下周过生日的学生:
SELECT s_id,s_name,s_birth,s_sex FROM student WHERE WEEKOFYEAR(CURRENT_DATE)+1=WEEKOFYEAR(s_birth)– 49、查询本月过生日的学生:
SELECT s_id,s_name,s_birth,s_sex FROM student WHERE MONTH(CURRENT_DATE)=MONTH(s_birth)– 50、查询12月份过生日的学生:
SELECT s_id,s_name,s_birth,s_sex FROM student WHERE MONTH(s_birth)=12
后续部分参见:
00.Hive必刷50题--建表,插入数据
01.Hive必刷50题--1-5题
02.Hive必刷50题--6-10题
03.Hive必刷50题--11-15题
04.Hive必刷50题--16-20题
05.Hive必刷50题--21-25题
06.Hive必刷50题--26-30题
07.Hive必刷50题--31-35题
08.Hive必刷50题--36-40题
09.Hive必刷50题--41-45题
010.Hive必刷50题--46-50题