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(),根据天数,返回日期;