自学内容网 自学内容网

sql之日期函数

日期函数

  • CURDATE()/CURRENT_DATE()返回当前日期
select CURRENT_DATE(),CURDATE();
  • CURRENT_TIME()/CURTIME()返回当前时间
-- 没有日期
select CURRENT_TIME(),CURTIME();
  • CURRENT_TIMESTAMP()返回当前日期和时间
select DATE_FORMAT(CURRENT_TIMESTAMP(),'%Y年%m月%d日 %H时%i分%S秒') as times;
  • DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数
-- year()  \ month() \ day() \week()\weekday()\weekofyear() 拿出时间日期的年月日
select datediff(CURDATE(),hire_date) as jiange_days from emp;
  • TIMEDIFF(time1, time2)计算时间差值
select TIMEDIFF(CURRENT_TIME(),'12:00:01') from emp
  • UNIX_TIMESTAMP()得到时间戳
select UNIX_TIMESTAMP()-10*24*60*60;
  • FROM_UNIXTIME()时间戳转日期
select FROM_UNIXTIME(UNIX_TIMESTAMP()-10*24*60*60);
  • DATE_ADD(d,INTERVAL expr type)从日期增加指定的时间间隔。
-- 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)函数从日期减去指定的时间间隔。
select date_sub(hire_date,INTERVAL 2 day) from emp;
  • DATE_FORMAT(d,f)表达式 f的要求显示日期 d
--  "%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)将字符串转变为日期
select str_to_date(date_str,"%Y年%m月%d日") from first_table;

原文地址:https://blog.csdn.net/m0_58050808/article/details/137347741

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!