如何处理日期数据_mysql date函数基础

发布时间 - 2025-12-27 00:00:00    点击率:
MySQL处理日期需选对类型(DATE/DATETIME/TIMESTAMP)、用YEAR/MONTH等提取值、DATEDIFF/DATE_ADD等计算差值、STR_TO_DATE/DATE_FORMAT转换与格式化。

MySQL 中处理日期数据,核心是掌握几个常用 DATE 相关函数和日期类型的基本用法。不需要死记硬背,理解场景、类型和函数的对应关系,就能准确完成大部分日期操作。

明确日期字段该用什么类型

MySQL 提供了多种日期时间类型,选对类型是正确处理的第一步:

  • DATE:只存日期(如 '2025-05-12'),适合生日、签约日等无需时间的场景
  • DATETIME:存日期+时间(如 '2025-05-12 14:30:22'),精度到秒,不带时区
  • TIMESTAMP:也存日期时间,但范围小(1970–2038)、自动时区转换、可设默认值为 CURRENT_TIMESTAMP
  • 避免用字符串(如 VARCHAR)存日期——没法直接比较、不能用索引、易出格式错误

提取日期中的年月日或星期

YEAR()MONTH()DAY()WEEKDAY() 等函数快速取值:

  • SELECT YEAR('2025-05-12'); → 返回 2025
  • SELECT MONTH('2025-05-12'); → 返回 5
  • SELECT DAYOFWEEK('2025-05-12'); → 周日=1,周一=2…返回 6(那天是周五)
  • 注意:DAY()DAYOFMONTH() 效果一样;DAYNAME() 返回英文星期名(如 'Friday'

计算日期差和加减天数

不用手动算,MySQL 提供简洁函数:

  • DATEDIFF('2025-05-20', '2025-05-12'); → 返回 8(前者减后者,单位是天)
  • DATE_ADD('2025-05-12', INTERVAL 7 DAY); → 得到 '2025-05-19'
  • DATE_SUB('2025-05-12', INTERVAL 1 MONTH); → 返回 '2025-04-12'
  • INTERVAL 后可接 DAY / WEEK / MONTH / YEAR / HOUR / MINUTE 等,灵活组合

把字符串转成日期,或把日期格式化输出

导入数据常遇到字符串日期,需转换;展示时又常要统一格式:

  • STR_TO_DATE('12/05/2025', '%d/%m/%Y'); → 转成 '2025-05-12'(注意顺序和符号匹配)
  • DATE_FORMAT('2025-05-12', '%Y年%m月%d日'); → 输出 '2025年05月12日'
  • 常用格式符:%Y(4位年)、%y(2位年)、%m(01–12)、%c(1–12,无前导零)、%d(01–31)


# mysql  # 格式化输出  # datediff  # select  # date  # timestamp  # 字符串  # 转成  # 几个  # 就能  # 死记硬背  # 不需要  # 那天  # 英文  # 不能用  # 不带  # 值为 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Windows Hello人脸识别突然无法使用  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel怎么实现验证码(Captcha)功能  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Bootstrap整体框架之CSS12栅格系统  北京企业网站设计制作公司,北京铁路集团官方网站?  C#如何调用原生C++ COM对象详解  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何彻底删除建站之星生成的Banner?  Laravel如何使用withoutEvents方法临时禁用模型事件  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  高性能网站服务器部署指南:稳定运行与安全配置优化方案  微信公众帐号开发教程之图文消息全攻略  如何在建站之星网店版论坛获取技术支持?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  大型企业网站制作流程,做网站需要注册公司吗?  网页设计与网站制作内容,怎样注册网站?  北京网站制作的公司有哪些,北京白云观官方网站?  如何快速搭建支持数据库操作的智能建站平台?  魔方云NAT建站如何实现端口转发?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  香港服务器租用每月最低只需15元?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  微信小程序 canvas开发实例及注意事项  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  进行网站优化必须要坚持的四大原则  Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel怎么调用外部API_Laravel Http Client客户端使用  nginx修改上传文件大小限制的方法  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Python图片处理进阶教程_Pillow滤镜与图像增强  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  高端云建站费用究竟需要多少预算?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  如何获取PHP WAP自助建站系统源码?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何在阿里云ECS服务器部署织梦CMS网站?