博客
关于我
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学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
查看>>
MySQL学习笔记十七:复制特性
查看>>
mysql安装卡在最后一步解决方案(附带万能安装方案)
查看>>
mysql安装和启动命令小结
查看>>
MySQL安装配置教程(非常详细),从零基础入门到精通,看完这一篇就够了
查看>>
mysql安装配置简介
查看>>