这篇文章主要介绍了mysql日期处理函数实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
首先创建一张实验用的一张表
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_student values(null,'tom','1992-02-03'); insert into t_student values(null,'jerry','1993-02-06'); insert into t_student values(null,'hank','1993-03-05'); insert into t_student values(null,'xiaoming',now());
其中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年
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
mysql,日期,处理,函数
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]