日期函数
- CURDATE()/CURRENT_DATE()返回当前日期
sql
复制代码
select CURRENT_DATE(),CURDATE();
- CURRENT_TIME()/CURTIME()返回当前时间
sql
复制代码
-- 没有日期
select CURRENT_TIME(),CURTIME();
- CURRENT_TIMESTAMP()返回当前日期和时间
sql
复制代码
select DATE_FORMAT(CURRENT_TIMESTAMP(),'%Y年%m月%d日 %H时%i分%S秒') as times;
- DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数
sql
复制代码
-- year() \ month() \ day() \week()\weekday()\weekofyear() 拿出时间日期的年月日
select datediff(CURDATE(),hire_date) as jiange_days from emp;
- TIMEDIFF(time1, time2)计算时间差值
sql
复制代码
select TIMEDIFF(CURRENT_TIME(),'12:00:01') from emp
sql
复制代码
select UNIX_TIMESTAMP()-10*24*60*60;
sql
复制代码
select FROM_UNIXTIME(UNIX_TIMESTAMP()-10*24*60*60);
- DATE_ADD(d,INTERVAL expr type)从日期增加指定的时间间隔。
sql
复制代码
-- year month day week hour minute second
select date_add(hire_date,INTERVAL 10 year) from emp;
select date_add(hire_date,INTERVAL -2 month) from emp;
select date_add(hire_date,INTERVAL 2 day) from emp;
select date_add(hire_date,INTERVAL 2 week) from emp;
- DATE_SUB(date,INTERVAL expr type)函数从日期减去指定的时间间隔。
sql
复制代码
select date_sub(hire_date,INTERVAL 2 day) from emp;
- DATE_FORMAT(d,f)表达式 f的要求显示日期 d
sql
复制代码
-- "%Y%m%d%H%i%S" MySQL 里面用i表示分钟
select DATE_FORMAT(hire_date,"%Y%m%d%H%i%S") from emp;
select DATE_FORMAT(hire_date,"%Y年%m月%d日 %H:%i:%S") from emp;
select DATE_FORMAT(hire_date,"%Y数加%m你好%dhello %H兰智%i你好%S哈哈") from emp;
- STR_TO_DATE(string, format_mask)将字符串转变为日期
sql
复制代码
select str_to_date(date_str,"%Y年%m月%d日") from first_table;