MySQL日期和时间函数

假设日期为 x = 20170427, y = '20170427', z = '2017-04-27' 三种格式

  • SELECT NOW() 查询当前时间(包含日期),YYYY-MM-DD HH:MM:SS

  • SELECT CURTIME() 查询当前时间,HH:MM:SS

  • SELECT CURDATE() 查询当前日期,YYYY-MM-DD

  • 获取日期年份
    SELECT YEAR(x)
    SELECT YEAR(y)
    SELECT YEAR(z)

  • 获取日期月份
    SELECT MONTH(x)
    SELECT MONTH(y)
    SELECT MONTH(z)

  • 获取月份名称
    SELECT MONTHNAME(x)
    SELECT MONTHNAME(y)
    SELECT MONTHNAME(z)

  • 获取该日期是该年的多少周
    SELECT WEEK(x)
    SELECT WEEK(y)
    SELECT WEEK(z)

  • 获取该日期为该月的多少天
    SELECT DAY(x)
    SELECT DAY(y)
    SELECT DAY(z)

  • 获取该日期是该周的多少天,周日为第一天
    SELECT DAYOFWEEK(x)
    SELECT DAYOFWEEK(y)
    SELECT DAYOFWEEK(z)

  • 获取该日期是该年的多少天
    SELECT DAYOFYEAR(x)
    SELECT DAYOFYEAR(y)
    SELECT DAYOFYEAR(z)

  • 获取该天的名称
    SELECT DAYNAME(x)
    SELECT DAYNAME(y)
    SELECT DAYNAME(z)


添加和减去时间,假设一个未知时间计数 n

  • 添加时间,将n时间添加到now()日期( now()为当前时间 ) ,now()可替换为x y z格式的时间
    SELECT DATE_ADD(now(),INTERVAL n YEAR )
    SELECT DATE_ADD(now(),INTERVAL n MONTH )
    SELECT DATE_ADD(now(),INTERVAL n DAY )
    SELECT DATE_ADD(now(),INTERVAL n HOUR )
    SELECT DATE_ADD(now(),INTERVAL n MINUTE )
    SELECT DATE_ADD(now(),INTERVAL n SECOND )

  • 减去时间,将now()日期( now()为当前时间 )减去n时间 ,now()可替换为x y z格式的时间
    SELECT DATE_SUB(now(),INTERVAL n YEAR )
    SELECT DATE_SUB(now(),INTERVAL n MONTH )
    SELECT DATE_SUB(now(),INTERVAL n DAY )
    SELECT DATE_SUB(now(),INTERVAL n HOUR )
    SELECT DATE_SUB(now(),INTERVAL n MINUTE )
    SELECT DATE_SUB(now(),INTERVAL n SECOND )

推荐阅读更多精彩内容