博客
关于我
mysql时间表示和计算
阅读量:790 次
发布时间:2023-02-12

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

MySQL日期函数实用指南

1. 基本日期格式化函数

DATE_FORMAT(date, format)用于根据格式字符串格式化日期值。支持多种格式修饰符,如:

  • %W:星期名称(例如:Saturday
  • %M:月份的英文名称(例如:October
  • %D:月份的英文日期格式(例如:4th
  • %Y:四位数的年份(例如:1997
  • %H:24小时制的小时(例如:22
  • %i:分钟(例如:05
  • ...:其他修饰符可参考MySQL官方文档

示例:

SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y') -> 'Saturday October 1997'

2. 星期相关函数

DAYOFWEEK(date)

返回日期的星期索引(1=星期天,2=星期一,...,7=星期六)。

示例:

SELECT DAYOFWEEK('1998-02-03') -> 3

WEEKDAY(date)

返回日期的星期索引(0=星期一,1=星期二,...,6=星期天)。

示例:

SELECT WEEKDAY('1997-10-04 22:23:00') -> 5

3. 日期与月份相关函数

DAYOFMONTH(date)

返回日期中所在月份的天数(范围1-31)。

示例:

SELECT DAYOFMONTH('1998-02-03') -> 3

DAYOFYEAR(date)

返回日期在一年中的日数(范围1-366)。

示例:

SELECT DAYOFYEAR('1998-02-03') -> 34

MONTH(date)

返回日期的月份(范围1-12)。

示例:

SELECT MONTH('1998-02-03') -> 2

DAYNAME(date)

返回日期对应的星期名字。

示例:

SELECT DAYNAME('1998-02-05') -> 'Thursday'

MONTHNAME(date)

返回日期对应的月份名字。

示例:

SELECT MONTHNAME('1998-02-05') -> 'February'

4. 时间操作函数

PERIOD_ADD(P, N)

将月份P增加N个月(格式为YYMMYYYYMM),返回新的月份格式。

示例:

SELECT PERIOD_ADD(9801, 2) -> '199803'

PERIOD_DIFF(P1, P2)

计算两个月份P1和P2之间的月份数量。

示例:

SELECT PERIOD_DIFF(9802, 199703) -> 11

5. 日期运算函数

DATE_ADD(date, INTERVAL expr type)

DATE_SUB(date, INTERVAL expr type)执行日期加减运算。expr可以是字符串或关键字,type指定时间类型(如SECONDMINUTE等)。

示例:

SELECT DATE_ADD('1997-12-31 23:59:59', INTERVAL 1 SECOND) -> '1998-01-01 00:00:00'

EXTRACT(type FROM date)

从日期中提取指定类型的值。type可以是SECONDMINUTEHOUR等。

示例:

SELECT EXTRACT(YEAR_MONTH FROM '1999-07-02 01:02:03') -> '199907'

6. 注意事项

  • 如果指定的expr格式不正确,结果可能为NULL
  • 日期运算结果可能会自动调整到月份的最大天数或年份的最大值。

示例:

SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH) -> '1998-02-28'

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

你可能感兴趣的文章
MySQL数据读写分离(MaxScale)上干货!!!
查看>>
mysql整库导入、导出
查看>>
mysql文本函数和数字函数
查看>>
Mysql新建用户和数据库并授权
查看>>
mysql日志
查看>>
mysql日志 事务问题_mysql因为事务日志问题无法启动
查看>>
mysql日志文件
查看>>
mysql日志管理学习笔记
查看>>
mysql日志问题定位实用命令
查看>>
MySQL日期时间函数大全
查看>>
mysql时间相减的问题
查看>>
mysql时间表示和计算
查看>>
MySQL是如何做容器测试的?
查看>>
mysql更改数据库表utf-8_修改mysql数据库为 utf-8
查看>>
mysql更改表引擎INNODB为MyISAM的方法总结
查看>>
mysql更新一个表里的字段等于另一个表某字段的值
查看>>
Mysql更新时间列只改日期为指定日期不更改时间
查看>>
MySQL更新锁(for update)摘要
查看>>
mysql更新频率_MySQL优化之如何了解SQL的执行频率
查看>>
mysql替换表的字段里面内容
查看>>