首先创建一张实验用的一张表 drop table if exists t_student; create table t_student( id int primary key auto_increment, name varchar(20) not null comment 姓名, birthday date comment 生日)Engine=InnoDB default charset utf8; insert into t_stud
首先创建一张实验用的一张表
其中date 类型 是记录mysql 精确日期的类型 now() 函数 获取当前时间 ![]() year() , month(),dayofmonth() 上面三个函数是分别从一个日期或者时间中提取出年 ,月 ,日 比如 想得到生日为2月份的学生 select * from t_student where month(birthday) = 2; ![]() 、 monthname() 函数 输出个月份的英文单词 select monthname(birthday) from t_student; ![]() timestampdiff() 函数 比较两个日期间的差值 例:学生的年龄 select timestampdiff(year,birthday ,now()) as age from t_student; ![]() timestampdiff 函数的第一个参数为 计算结果的单位: 有year(年) month(月),day(日) 等等。 to_days() 将日期转换成天数 计算两个时间的天数,同timestampdiff(day,arg1,arg2) 是一个道理。 查询生日小于当前日期60以内的学生 select * from t_student where (to_days(now()) - to_days(birthday)) < 60; ![]() date_add 和 date_sub 根据一个日期 ,计算出另一个日期, date_add 是加上 date_sub 是减去 select date_add('1970-1-1', interval 10 year); # 1970 年 加上10年 ![]() select date_sub('1970-1-1', interval 10 year); #1970年减去10年 ![]() |
2021-06-02
2021-06-05
2022-06-27
2022-10-12
2019-09-11