欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MYSQL常用日期时间函数

程序员文章站 2022-05-29 22:48:05
...

MYSQL常用日期时间函数

摘要:
NOW() 当前日期时间
CURDATE() 当前日期
CURTIME() 当前时间
DATE(expr) 提取日期部分
TIME(expr) 提取时间部分
YEAR(date) 提取年
MONTH(date) 提取月
DAY(date) 提取日
HOUR(time) 提取小时
MINUTE(time)提取分钟
SECOND(time)提取秒

    DATEDIFF(expr,expr2)    天数间隔
    TIMEDIFF(expr,expr2)    时间间隔
    TIMESTAMPDIFF(interval,expr,expr2)    按照指定单位计算间隔
  1. 日期加
    ADDDATE(expr,days)
    如: SELECT ADDDATE('2007-12-01',10);
    结果: '2007-12-11'

  2. 时间加
    ADDTIME(expr,expr2)
    如: SELECT ADDTIME('2007-12-01 14:59:00','00:00:10');
    结果: '2007-12-01 14:59:10'

  3. 当前日期
    CURDATE()
    如: SELECT CURDATE(), CURDATE()+0;
    结果: 2007-12-01, 20071201

  4. 当前时间
    CURTIME()
    如: SELECT CURTIME(), CURTIME()+0;
    结果: 14:56:11, 145611

  5. 提取表达式中的日期部分
    DATE(expr)
    如: SELECT DATE('2007-12-01 14:59:00');
    结果: 2007-12-01

  6. 计算起始时间expr和结束时间expr2之间的天数
    DATEDIFF(expr, expr2)
    如: SELECT DATEDIFF('2007-12-10', '2007-12-01 11:22:33');
    结果: 9

  7. 日期加减运算
    DATE_ADD(date,INTERVAL expr type)
    DATE_SUB(date,INTERVAL expr type)
    如: SELECT DATE_ADD('2007-12-01 11:22:33', INTERVAL '10 10'DAY_HOUR);
    结果: 2007-12-11 21:22:33

  8. 时间格式化
    DATE_FORMAT(date,format)
    如: SELECT DATE_FORMAT('2007-12-01 11:22:33', '%W %M %Y');
    结果: Saturday December 2007

  9. 提取日期中的日
    DAY(date)
    如: SELECT DAY('2007-12-13');
    结果: 13

  10. 计算某日为星期几
    DAYNAME(date)
    如: SELECT DAYNAME('2007-12-13');
    结果: Thursday

  11. DAYOFMONTH(date)
    同DAY(date)

  12. 计算某日的星期索引( 1=周日, 2=周一... )
    DAYOFWEEK(date)
    如: SELECT DAYOFWEEK('2007-12-13');
    结果: 5

  13. 计算某日在该年中的天数
    DAYOFYEAR(date)
    如: SELECT DAYOFYEAR('2007-12-13');
    结果: 347

  14. 提取日期中指定的部分
    EXTRACT(type FROM date)
    如: SELECT EXTRACT(YEAR_MONTH FROM '2007-12-13');
    结果: 200712

  15. 构造日期
    MAKEDATE(year,dayofyear)
    如: SELECT MAKEDATE(2007,31), MAKEDATE(2007,32);
    结果: 2007-01-31, 2007-02-01

  16. 构造时间
    MAKETIME(hour,minute,second)
    如: SELECT MAKETIME(22,12,13);
    结果: 22:12:13

  17. 提取日期中的小时
    HOUR(time)
    如: SELECT HOUR('2007-12-01 14:59:00');
    结果: 14

  18. MINUTE(time) 提取分钟
    MONTH(date) 提取月份
    SECOND(time) 提取秒
    TIME(expr) 提取时间部分

  19. 当前日期时间
    NOW()
    如: SELECT NOW();
    结果: 2007-12-01 14:59:00

  20. 计算起始时间expr与结束时间expr2之间的时间间隔
    TIMEDIFF(expr,expr2)
    如: SELECT TIMEDIFF('2007-12-01 15:59:00', '2007-12-01 14:59:00');
    结果: 01:00:00

  21. 按照指定单位计算间隔
    TIMESTAMPDIFF(interval,expr,expr2)
    如: SELECT TIMESTAMPDIFF(MINUTE, '2007-12-01 01:00:00', '2007-12-01 02:01:00');
    结果: 61