信息发布→ 登录 注册 退出

如何在mysql中使用DATE函数_mysql日期函数操作方法

发布时间:2025-12-04

点击量:
掌握MySQL日期函数可高效处理日期数据。使用DATE()提取日期部分,如SELECT DATE(NOW());用DATE_FORMAT()格式化输出,如按'%Y年%m月%d日'显示;通过DATE_ADD()/DATE_SUB()进行日期增减,如加7天或减1个月;在WHERE中结合函数实现日期比较与范围查询,如筛选某天或过去24小时数据。注意避免在字段上直接使用函数以防索引失效。

在MySQL中处理日期和时间是日常开发中的常见需求。DATE函数及相关日期操作函数可以帮助你提取、格式化、计算和比较日期数据。下面介绍几种常用的MySQL日期函数使用方法,帮助你高效处理日期类型字段

提取日期部分

如果你有一个DATETIME或TIMESTAMP类型的字段,但只想获取其中的日期部分(即去掉时间),可以使用DATE()函数。

语法: DATE(expression)

例如,从当前时间提取日期:

SELECT DATE(NOW()); -- 输出:2025-04-05

或者从表中某个时间字段提取日期:

SELECT DATE(create_time) FROM orders; -- 返回每条记录的创建日期

日期格式化输出

使用DATE_FORMAT()函数可以将日期按照指定格式显示,适合报表或界面展示。

语法: DATE_FORMAT(date, format)

常用格式符:

  • %Y:四位年份(如2025)
  • %m:两位月份(01-12)
  • %d:两位日期(01-31)
  • %H:小时(00-23)
  • %i:分钟(00-59)
  • %s:秒(00-59)

示例:

SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日'); -- 输出:2025年04月05日

SELECT DATE_FORMAT(create_time, '%Y-%m-%d') FROM logs;

日期计算与增减

MySQL提供DATE_ADD()和DATE_SUB()函数用于对日期进行加减操作。

语法: DATE_ADD(date, INTERVAL expr unit)

示例:

  • SELECT DATE_ADD(NOW(), INTERVAL 7 DAY); -- 当前时间加7天
  • SELECT DATE_SUB('2025-04-05', INTERVAL 1 MONTH); -- 减去一个月
  • SELECT NOW() + INTERVAL 2 HOUR; -- 简写方式,加2小时

支持的单位包括:SECOND、MINUTE、HOUR、DAY、MONTH、YEAR等。

日期比较与条件查询

在WHERE子句中可以直接使用日期函数进行范围查询或条件筛选。

示例:

  • SELECT * FROM orders WHERE DATE(create_time) = '2025-04-05'; -- 查询某天的数据
  • SELECT * FROM logs WHERE create_time >= DATE_SUB(NOW(), INTERVAL 24 HOUR); -- 过去24小时内的记录
  • SELECT * FROM users WHERE birthday BETWEEN '1990-01-01' AND '1999-12-31';

基本上就这些。掌握DATE()、DATE_FORMAT()、DATE_ADD/SUB以及日期比较方法,就能应对大多数日期操作场景。注意字段索引优化,避免在日期字段上频繁使用函数导致索引失效。不复杂但容易忽略。

标签:# 某天  # 可以使用  # 只想  # 几种  # 可以直接  # 一个月  # 帮助你  # 就能  # 如果你  # mysql  # 两位  # timestamp  # format  # date  # select  # 2025  # 2025年  # 格式化输出  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!