MYSQL常用日期时间函数

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MySQL 获得当前日期时间 函数 1.1 获得当前日期 + 时间(date + time) 函数:now()...
    梦遇缱绻的馥郁阅读 894评论 0 1
  • 一、MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() my...
    极简架构阅读 1,246评论 0 1
  • MySql取得日期(前一天、某一天) 取得当天: SELECT curdate(); mysql> SELECT ...
    laravel阅读 1,729评论 0 4
  • 生态旅游兴起后,让远离乡村的人亲手采摘农产品的活动也自然兴起。草莓园摘草莓,杨梅林摘杨梅,都曾尝试。而最令人心动的...
    郭国酬阅读 370评论 1 2
  • 原本上周播出的我是歌手,今天才利用午饭的时间看完。本想当作消遣,谁知却看到了秋裤男神李健唱着那首久违的《异乡人》。...
    肖肖爱吃鱼阅读 287评论 0 0