博客
关于我
mysql时间表示和计算
阅读量:791 次
发布时间: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条件查询
查看>>
MySQL条件查询
查看>>
MySQL架构与SQL的执行流程_1
查看>>
MySQL架构与SQL的执行流程_2
查看>>
MySQL架构介绍
查看>>
MySQL架构优化
查看>>
mysql架构简介、及linux版的安装
查看>>
MySQL查看数据库相关信息
查看>>
MySQL查看表结构和表中数据
查看>>
MySQL查询优化:LIMIT 1避免全表扫描
查看>>
MySQL查询优化之索引
查看>>
mysql查询储存过程,函数,触发过程
查看>>
mysql查询总成绩的前3名学生信息
查看>>
mysql查询慢排查
查看>>
MySQL查询报错ERROR:No query specified
查看>>
mysql查询数据库储存数据的占用容量大小
查看>>
MySQL查询数据库所有表名及其注释
查看>>
MySQL查询数据表中数据记录(包括多表查询)
查看>>
MySQL查询结果排序
查看>>
MYSQL查询语句优化
查看>>