博客
关于我
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参考触发条件_MySQL 5.0-触发器(参考)_mysql
查看>>
MySQL及navicat for mysql中文乱码
查看>>
MySqL双机热备份(二)--MysqL主-主复制实现
查看>>
MySql各种查询
查看>>
mysql同主机下 复制一个数据库所有文件到另一个数据库
查看>>
mysql启动以后会自动关闭_驾照虽然是C1,一直是开自动挡的车,会不会以后就不会开手动了?...
查看>>
mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
查看>>
Mysql启动失败解决过程
查看>>
MySQL启动失败:Can't start server: Bind on TCP/IP port
查看>>
mysql启动报错
查看>>
mysql启动报错The server quit without updating PID file几种解决办法
查看>>
MySQL命令行登陆,远程登陆MySQL
查看>>
mysql命令:set sql_log_bin=on/off
查看>>
mySQL和Hive的区别
查看>>
MySQL和Java数据类型对应
查看>>
mysql和oorcale日期区间查询【含左右区间问题】
查看>>
MySQL和SQL入门
查看>>
mysql在centos下用命令批量导入报错_Variable ‘character_set_client‘ can‘t be set to the value of ‘---linux工作笔记042
查看>>
Mysql在Linux运行时新增配置文件提示:World-wrirable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored 权限过高导致
查看>>
Mysql在Windows上离线安装与配置
查看>>