這篇文章主要介紹了mysql日期處理函數(shù)實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
首先創(chuàng)建一張實驗用的一張表
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() 函數(shù)
獲取當前時間
![](/d/20211018/5bd48f03664d215a9d0454a5b77e8d11.gif)
year() , month(),dayofmonth()
上面三個函數(shù)是分別從一個日期或者時間中提取出年 ,月 ,日
比如 想得到生日為2月份的學生
select * from t_student where month(birthday) = 2;
![](/d/20211018/790df25b6e23dbb11901ce9a03f2e738.gif)
monthname() 函數(shù)
輸出個月份的英文單詞
select monthname(birthday) from t_student;
![](/d/20211018/f24d9d1d2a1e003a548951570fbfd71a.gif)
timestampdiff() 函數(shù)
比較兩個日期間的差值
例:學生的年齡
select timestampdiff(year,birthday ,now()) as age from t_student;
![](/d/20211018/e26e4b9cd74e63a27c32bd3908369f47.gif)
timestampdiff 函數(shù)的第一個參數(shù)為 計算結果的單位: 有year(年) month(月),day(日) 等等。
to_days()
將日期轉換成天數(shù)
計算兩個時間的天數(shù),同timestampdiff(day,arg1,arg2) 是一個道理。
查詢生日小于當前日期60以內的學生
select * from t_student where (to_days(now()) - to_days(birthday)) 60;
![](/d/20211018/744623510a24e0424213af29fccdfa67.gif)
date_add 和 date_sub
根據(jù)一個日期 ,計算出另一個日期, date_add 是加上 date_sub 是減去
select date_add('1970-1-1', interval 10 year); # 1970 年 加上10年
![](/d/20211018/8a50a8827e6a4a5815935788d3564b33.gif)
select date_sub('1970-1-1', interval 10 year); #1970年減去10年
![](/d/20211018/ad03667d6b05af245efb4cce093cda66.gif)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL計算兩個日期相差的天數(shù)、月數(shù)、年數(shù)
- MySQL 8.0.13設置日期為0000-00-00 00:00:00時出現(xiàn)的問題解決
- 詳解Mysql中日期比較大小的方法
- mysql中常用日期比較與計算函數(shù)
- MySQL日期函數(shù)與日期轉換格式化函數(shù)大全
- mysql 獲取昨天日期、今天日期、明天日期以及前一個小時和后一個小時的時間
- 詳解MySQL日期 字符串 時間戳互轉
- 詳解mysql 獲取當前日期及格式化