MySQL|MySQL 中 `DATE_FORMAT()` 函数的使用

news/2025/3/10 10:38:11/
文章目录
        • 概述
        • 方法签名
        • 格式化字符
        • 基本用法
        • 实际应用案例
          • 示例1:显示日期和星期几
          • 示例2:仅显示日期
          • 示例3:按周统计订单数量
        • 注意事项
        • 结论
概述

DATE_FORMAT() 是 MySQL 中的一个内置函数,用于格式化日期和时间数据。它可以根据指定的格式字符串来展示日期和时间,使得数据更容易阅读和理解。本文档将详细介绍 DATE_FORMAT() 函数的使用方法及其常见应用场景。

方法签名
DATE_FORMAT(date, format)
  • 参数:
    • date: 日期或时间的表达式,可以是一个日期时间字段或常量。
    • format: 格式化字符串,用于定义日期和时间的具体格式。
格式化字符

DATE_FORMAT() 支持多种格式化字符,这些字符定义了日期和时间的不同部分。以下是一些常用的格式化字符:

格式化字符

描述

%Y

年份,4位数字(例如:2024)

%y

年份,2位数字(例如:24)

%m

月份,2位数字(例如:09)

%b

月份的缩写(例如:Sep)

%M

月份的全称(例如:September)

%d

日,2位数字(例如:18)

%H

小时(24小时制),2位数字(例如:16)

%h%I

小时(12小时制),2位数字(例如:04)

%i

分钟,2位数字(例如:26)

%s

秒,2位数字(例如:42)

%p

AM 或 PM(仅限于12小时制)

%W

星期几的全称(例如:Wednesday)

%w

星期几,数字表示(例如:3 表示星期三)

%j

一年中的第几天(1 到 366)

%U

一年中的第几周(00 到 53)

%u

一年中的第几周(01 到 53)

基本用法

假设有一个名为 orders 的表,其中有一个 created_at 的字段,存储了订单创建的时间戳。下面是如何使用 DATE_FORMAT() 函数来格式化这个时间戳的例子:

SELECT created_at,DATE_FORMAT(created_at, '%Y-%m-%d %H:%i:%s') AS formatted_date
FROM orders;

上述查询将返回 created_at 列,并将每个日期时间值格式化为 “YYYY-MM-DD HH:MM:SS” 格式。

实际应用案例
示例1:显示日期和星期几

假设你需要查询订单创建日期及其对应的星期几:

SELECT created_at,DATE_FORMAT(created_at, '%Y-%m-%d %W') AS formatted_date_and_weekday
FROM orders;
示例2:仅显示日期

如果只需要日期部分,可以使用以下格式:

SELECT DATE_FORMAT(created_at, '%Y-%m-%d') AS date_only
FROM orders;
示例3:按周统计订单数量

可以使用 DATE_FORMAT() 函数来获取订单创建的周数,并进行统计:

SELECT DATE_FORMAT(created_at, '%x-%v') AS week,COUNT(*) AS order_count
FROM orders
GROUP BY week;

这里 %x 表示年份的最后两位,%v 表示一年中的第几周。

注意事项
  • 在使用 DATE_FORMAT() 时,请确保提供的日期时间是有效的。如果日期时间无效,可能会导致错误或不符合预期的结果。
  • DATE_FORMAT() 的格式化字符串区分大小写,不同的格式化字符具有不同的含义。
  • 在设计数据库查询时,考虑到性能因素,如果频繁使用 DATE_FORMAT(),建议考虑使用索引或其他优化手段。
结论

DATE_FORMAT() 函数是 MySQL 中一个非常实用的功能,可以帮助开发者以可定制的方式展示日期和时间数据。通过掌握 DATE_FORMAT() 的使用方法及其格式化字符,可以更灵活地处理和展示时间相关数据。


http://www.ppmy.cn/news/1578056.html

相关文章

阿里云操作系统控制台——解决服务器磁盘I/O故障

目录 引言 需求介绍 操作系统使用实例 获得的帮助与提升 建议 引言 你的云服务器是否遇到过系统响应变慢、服务超时,或者进程卡顿、磁盘空间不足、系统日志频繁告警的问题?这些情况在日常运维中并不少见,尤其是在 高负载或资源紧张时&a…

交大智邦后端Java笔试题

交大智邦后端Java笔试题 简答题 只要一个类加上了Component注解,就一定能成为一个Spring Bean吗?如果不是,请举出反例。 不一定 扫描范围不包括 com.code.lab.web.component 或者被 ComponentScan 显式排除 通过 excludeFilters 手动排除特定…

css实现元素垂直居中显示的7种方式

文章目录 * [【一】知道居中元素的宽高](https://blog.csdn.net/weixin_41305441/article/details/89886846#_1) [absolute 负margin](https://blog.csdn.net/weixin_41305441/article/details/89886846#absolute__margin_2) [absolute margin auto](https://blog.csdn.net…

EPS8266远端固定UDP传输

UDP通信 先回顾一下TCP与CDP的区别 UDP传输不区分server或者client,由指令ATCIPSTART建立传输。 UDP传输分为固定远端的UDP通信和远端可变的UDP通信 1.配置WiFi模式 ATCWMODE3 响应:ok 2连接路由器 ATCWJAP“SSID”,“password” 响应…

Python深度学习算法介绍

一、引言 深度学习是机器学习的一个重要分支,它通过构建多层神经网络结构,自动从数据中学习特征表示,从而实现对复杂模式的识别和预测。Python作为一门强大的编程语言,凭借其简洁易读的语法和丰富的库支持,成为深度学…

学工系统演示-学工管理系统

于现代高校管理之范畴,学工系统占据着举足轻重之地位。学工系统乃一集成化的信息管理平台,意在为学校给予学生管理、教师管理、课程管理、就业管理、辅导员管理等全维度之服务。学工系统之功能丰富多元,可推动学校学生管理工作趋于科学化、规…

大数据与物联网(IoT)的完美融合:驱动智能新时代

大数据与物联网(IoT)的完美融合:驱动智能新时代 大家好,我是你们的大数据探索者Echo_Wish。今天,我们将深入探讨大数据与物联网(IoT)整合的重要性及其在现代科技中的应用。物联网通过连接大量智能设备,生成海量数据;而大数据技术则赋予我们从这些数据中提取有价值信息…

基于PyMuPDF与百度翻译的PDF翻译处理系统开发:中文乱码解决方案与自动化排版实践

基于PyMuPDF与百度翻译的PDF翻译处理系统开发:中文乱码解决方案与自动化排版实践 一 、功能预览:将英文翻译为中文后创建的PDF 二、完整代码 from reportlab.lib.pagesizes import letter from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle