Mysql怎样查询某个月之后过生日的人?

今天面试笔试遇到的问题,忘记了怎样写了,尴尬。

回来就建了张表来联系

如下:

为了方便 只给了三个字段 插入了一些乱七八糟的数据;

查询今天过生日的人:

SELECT NAME FROM test WHERE TO_DAYS(birthday)=TO_DAYS(NOW());

查询2018年过生日的人:

SELECT * FROM test WHERE YEAR(birthday)='2018';

查询2018年之后过生日的人:

SELECT * FROM test WHERE YEAR(birthday)>'2018';

 查询5月之后过生日的人:

SELECT * FROM test WHERE MONTH(birthday)>'5';

查询某年某月某日某时某分某秒:

select * from test where  DATE_FORMAT(birthday, '%Y%m%d%H%i%S') > '2019-07-05 22:00:00';

date_format() 函数用于以不同的格式显示日期/时间数据。

语法

DATE_FORMAT(date,format)    date 参数是合法的日期。format 规定日期/时间的输出格式

总结:

1.year(),从时间字段获取年

2.quarter(),从时间字段获取季度

3.month(),从时间字段获取月

4.week(),从时间字段获取周

5.yearweek(),从时间字段获取年和周

6.date_sub(), 从时间字段减去指定时间间隔

7.date_format(),时间格式化

8.to_days(),返回从0年开始的天数;

9.from_days(),根据天数,返回日期;

猜你喜欢

转载自www.cnblogs.com/tyadmin/p/11241137.html