博客
关于我
MySQL日期时间函数大全
阅读量:788 次
发布时间:2023-02-12

本文共 3219 字,大约阅读时间需要 10 分钟。

MySQL日期时间函数大全

MySQL 提供了丰富的日期和时间函数,能够帮助开发者高效地处理日期时间数据。以下是MySQL中常用的日期时间函数及其示例,希望能为您提供有价值的参考。

返回日期中的星期几

DAYOFWEEK(date)

  • 返回日期 date 是星期几(1=星期天, 2=星期一, ……7=星期六,ODBC标准)。
  • 示例
    mysql> select DAYOFWEEK('1998-02-03');----> 3

WEEKDAY(date)

  • 返回日期 date 是星期几(0=星期一, 1=星期二, ……6=星期天)。
  • 示例
    mysql> select WEEKDAY('1997-10-04 22:23:00');----> 5mysql> select WEEKDAY('1997-11-05');----> 2

返回日期中的日期信息

DAYOFMONTH(date)

  • 返回 date 是月份中的第几日(在1到31范围内)。
  • 示例
    mysql> select DAYOFMONTH('1998-02-03');----> 3

DAYOFYEAR(date)

  • 返回 date 一年中的第几日(在1到366范围内)。
  • 示例
    mysql> select DAYOFYEAR('1998-02-03');----> 34

MONTH(date)

  • 返回 date 中的月份数值。
  • 示例
    mysql> select MONTH('1998-02-03');----> 2

DAYNAME(date)

  • 返回 date 是星期几(按英文名返回)。
  • 示例
    mysql> select DAYNAME("1998-02-05");----> 'Thursday'

MONTHNAME(date)

  • 返回 date 是几月(按英文名返回)。
  • 示例
    mysql> select MONTHNAME("1998-02-05");----> 'February'

返回日期中的时间段信息

QUARTER(date)

  • 返回 date 一年的第几个季度。
  • 示例
    mysql> select QUARTER('98-04-01');----> 2

WEEK(date, first)

  • 返回 date 一年的第几周(first 默认值0,first 取值1表示周一是周的开始,0从周日开始)。
  • 示例
    mysql> select WEEK('1998-02-20');----> 7mysql> select WEEK('1998-02-20',0);----> 7mysql> select WEEK('1998-02-20',1);----> 8

YEAR(date)

  • 返回 date 的年份(范围在1000到9999)。
  • 示例
    mysql> select YEAR('98-02-03');----> 1998

返回时间的具体部分

HOUR(time)

  • 返回 time 的小时数(范围是0到23)。
  • 示例
    mysql> select HOUR('10:05:03');----> 10

MINUTE(time)

  • 返回 time 的分钟数(范围是0到59)。
  • 示例
    mysql> select MINUTE('98-02-03 10:05:03');----> 5

SECOND(time)

  • 返回 time 的秒数(范围是0到59)。
  • 示例
    mysql> select SECOND('10:05:03');----> 3

日期和时间的增减操作

DATE_ADD(date, INTERVAL expr type)

  • 对日期时间进行加减法运算。
  • 示例
    mysql> SELECT "1997-12-31 23:59:59" INTERVAL 1 SECOND;----> 1998-01-01 00:00:00mysql> SELECT INTERVAL 1 DAY "1997-12-31";----> 1998-01-01mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;----> 1997-12-31 23:59:59

DATE_SUB(date, INTERVAL expr type)

  • 对日期时间进行减法运算。
  • 示例
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 SECOND);----> 1998-01-01 00:00:00mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 DAY);----> 1998-01-01 23:59:59

ADDDATE(date, INTERVAL expr type)

  • 对日期时间进行加法运算。
  • 示例
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 SECOND);----> 1998-01-01 00:00:00

SUBDATE(date, INTERVAL expr type)

  • 对日期时间进行减法运算。
  • 示例
    mysql> SELECT DATE_SUB("1998-01-01 00:00:00",INTERVAL 1 DAY);----> 1997-12-31

提取日期和时间的信息

EXTRACT(字段 FROM date)

  • 从日期中提取特定部分的信息。
  • 示例
    mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");----> 1999mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");----> 199907mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");----> 20102

获取当前日期和时间

CURDATE()

  • 返回当前日期,以 'YYYY-MM-DD'YYYYMMDD 格式。
  • 示例
    mysql> select CURDATE();----> '1997-12-15'

CURTIME()

  • 返回当前时间,以 'HH:MM:SS'HHMMSS 格式。
  • 示例
    mysql> select CURTIME();----> '23:50:26'

NOW()

  • 返回当前日期和时间,以 'YYYY-MM-DD HH:MM:SS'YYYYMMDDHHMMSS 格式。
  • 示例
    mysql> select NOW();----> '1997-12-15 23:50:26'

转换时间戳

UNIX_TIMESTAMP()

  • 返回从'1970-01-01 00:00:00'GMT开始的秒数。
  • 示例
    mysql> select UNIX_TIMESTAMP();----> 882226357

FROM_UNIXTIME(unix_timestamp)

  • 将Unix时间戳转换为日期和时间。
  • 示例
    mysql> select FROM_UNIXTIME(875996580);----> '1997-10-04 22:23:00'

SEC_TO_TIME(seconds)

  • 将秒数转换为时间。
  • 示例
    mysql> select SEC_TO_TIME(2378);----> '00:39:38'

TIME_TO_SEC(time)

  • 将时间转换为秒数。
  • 示例
    mysql> select TIME_TO_SEC('22:23:00');----> 80580

以上是MySQL中常用的日期时间函数,希望这些信息能帮助到您!

转载地址:http://dndfk.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(21)——MySQL数据库常见面试题
查看>>
Mysql学习总结(22)——Mysql数据库中制作千万级测试表
查看>>
Mysql学习总结(23)——MySQL统计函数和分组查询
查看>>
Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
查看>>
Mysql学习总结(25)——MySQL外连接查询
查看>>
Mysql学习总结(26)——MySQL子查询
查看>>
Mysql学习总结(27)——Mysql数据库字符串函数
查看>>
Mysql学习总结(28)——MySQL建表规范与常见问题
查看>>
Mysql学习总结(29)——MySQL中CHAR和VARCHAR
查看>>
Mysql学习总结(2)——Mysql超详细Window安装教程
查看>>
Mysql学习总结(30)——MySQL 索引详解大全
查看>>
Mysql学习总结(31)——MySql使用建议,尽量避免这些问题
查看>>
Mysql学习总结(33)——阿里云centos配置MySQL主从复制
查看>>
Mysql学习总结(35)——Mysql两千万数据优化及迁移
查看>>
Mysql学习总结(36)——Mysql查询优化
查看>>
Mysql学习总结(37)——Mysql Limit 分页查询优化
查看>>
Mysql学习总结(38)——21条MySql性能优化经验
查看>>
Mysql学习总结(39)——49条MySql语句优化技巧
查看>>
Mysql学习总结(3)——MySql语句大全:创建、授权、查询、修改等
查看>>
Mysql学习总结(40)——MySql之Select用法汇总
查看>>