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

news/2024/9/19 9:20:27 标签: mysql, 数据库

文章目录

        • 概述
        • 方法签名
        • 格式化字符
        • 基本用法
        • 实际应用案例
          • 示例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)
%pAM 或 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.niftyadmin.cn/n/5665329.html

相关文章

【无人机设计与控制】基于粒子群算法的三维无人机航迹规划

摘要 本文研究了基于粒子群算法(PSO)的三维无人机航迹规划问题。通过粒子群优化算法,无人机能够在复杂三维环境中进行路径规划,以避开障碍并实现最优路径飞行。该方法有效结合了无人机的飞行动力学特性与环境约束,能够…

模型验证 — 交叉验证Cross Validation的方法

目录 简单交叉验证 K折交叉验证 留一法交叉验证 留P法交叉验证 ShuffleSplit StratifiedShuffleSplit StratifiedKFold 交叉验证(Cross Validation)是验证模型性能的一种统计分析方法,其基本思想是在某种意义下将原始数据进行分组,一部分作为模型的训练数据集…

[PyVista] 介绍

一,介绍 PyVista是一个用于3D可视化和网格处理的Python库,它提供了一种简单而强大的方式来创建、渲染和分析复杂的三维数据集和网格。PyVista建立在VTK(Visualization Toolkit)和NumPy之上,为用户提供了许多方便的工具和功能&…

Linux 使用 tar 命令

1 使用 gzip 压缩,将 dir 目录压缩 tar -zcvf archive.tar.gz dir/ 2 解压 tar.gz 文件 tar -zxvf archive.tar.gz 3 解压 tar.gz 文件,到指定 dir 目录 tar -zxvf archive.tar.gz -C dir 参数说明: -z 支持gzip解压文件 -x 从压缩的…

第五部分:2---信号的介绍、产生、处理

目录 信号的概念: 信号表的继承: 信号的分类与编号: 特殊的信号: 信号的产生: 1.键盘输入: 2.系统调用: 3.异常或硬件错误: 4.总结: 信号的处理: …

探索物联网 (IoT):从概念到应用

探索物联网 (IoT):从概念到应用 1. 引言 物联网(Internet of Things, IoT)是当今技术领域中最具潜力的发展趋势之一。通过将物理设备、传感器、软件和网络连接在一起,物联网能够收集和交换数据,创造一个互联的智能系…

球类目标检测系统源码分享

球类目标检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

Photoshop使用方法大全

0、快捷键 1)Alt Delete:填充前景色 2)Ctrl D:取消选区 3)Ctrl T:自由变换,等比缩放、旋转的效果 4)Ctrl R:显示标尺 5)Ctrl J:复制一个…