Mysql 日期时间 DATE_FORMAT(date,format)

当我们在使用 MySQL 数据库时,常常会遇到对日期时间进行格式化输出的需求。MySQL 提供了 DATE_FORMAT() 函数用来格式化日期时间值。

DATE_FORMAT() 函数接受两个参数:date和format。其中,date为日期时间值,可以是一个字符串,也可以是一个合法的日期时间类型的格式;format则为表示日期时间输出格式的字符串。

日期时间输出格式字符串中,各种指令字符都需要用 % 符号进行前缀。以下是常用的指令字符:

  • %Y:四位数字的年份
  • %y:两位数字的年份
  • %m:两位数字的月份(01-12)
  • %c:无前导零的月份(1-12)
  • %d:两位数字的天数(01-31)
  • %H:24 小时制的小时数(00-23)
  • %h:12 小时制的小时数(01-12)
  • %i:两位数字的分钟数(00-59)
  • %s:两位数字的秒数(00-59)
  • %p:AM 或 PM
  • %M:英文全名的月份
  • %b:英文简写的月份
  • %a:英文简写的星期几
  • %W:英文全名的星期几

下面用两个示例说明 DATE_FORMAT() 函数的用法:

示例1:

我们有一个 t_user 表,其中包含了用户的创建时间,其数据类型为 timestamp,格式为 "yyyy-mm-dd HH:mm:ss"。

CREATE TABLE t_user (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(20) NOT NULL,
    password VARCHAR(20) NOT NULL,
    create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO t_user(username, password) VALUES('zhangsan', '123456');
INSERT INTO t_user(username, password) VALUES('lisi', '456789');

现在,我们希望查询出用户的创建时间,并将其格式化为 "yyyy-mm-dd" 的形式。查询语句可以写成这样:

SELECT id, username, 
       DATE_FORMAT(create_time, '%Y-%m-%d') AS create_date 
FROM t_user;

运行以上 SQL 语句,我们可以得到如下结果:

+----+----------+-------------+
| id | username | create_date |
+----+----------+-------------+
| 1 | zhangsan | 2021-08-10 |
| 2 | lisi | 2021-08-10 |
+----+----------+-------------+

以上查询结果中,create_date 列即为我们格式化后得到的日期。

示例2:

我们有一个 t_order 表,其中包含了订单的创建时间,其数据类型为 datetime,格式为 "yyyy-mm-dd HH:mm:ss"。

CREATE TABLE t_order (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    order_no VARCHAR(20) NOT NULL,
    user_id INT NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO t_order(order_no, user_id, price) VALUES('20210810010001', 1, 99.99);
INSERT INTO t_order(order_no, user_id, price) VALUES('20210810010002', 2, 88.88);

现在,我们希望查询出订单的创建时间,并将其格式化为"yyyymmddHHmmss"的形式。查询语句可以写成这样:

SELECT id, order_no, 
       DATE_FORMAT(create_time, '%Y%m%d%H%i%s') AS create_time 
FROM t_order;

运行以上 SQL 语句,我们可以得到如下结果:

+----+----------------+--------------+
| id | order_no | create_time |
+----+----------------+--------------+
| 1 | 20210810010001 | 20210810011034 |
| 2 | 20210810010002 | 20210810011526 |
+----+----------------+--------------+

以上查询结果中,create_time 列即为我们格式化后得到的日期时间。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql 日期时间 DATE_FORMAT(date,format) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 如何使用Python在MySQL中使用联合查询?

    以下是如何使用Python在MySQL中使用联合查询的完整使用攻略,包括连接MySQL数据库、创建表、插入数据、使用联合查询等步骤。同时,提供两个示例以便更好理解如何使用Python在MySQL中使用联合查询。 步骤1:连接MySQL数据库 在Python中,我们可以使用pymysql模块连接到MySQL数据库。以下是连接MySQL数据库的基本语法: imp…

    python 2023年5月12日
    00
  • 不能使用“;文件已在使用中 Microsoft JET Database Engine

    当我们在使用Microsoft JET Database Engine进行数据库操作时,有时会遇到一个提示错误:“不能使用“;文件已在使用中 Microsoft JET Database Engine”。这个错误提示表明正在尝试访问的数据库已经在使用中,无法进行操作。下面我将为大家详细讲解如何解决这个问题。 问题原因 造成这个问题的原因可能有很多,以下列举了…

    database 2023年5月21日
    00
  • MySQL优化服务器,提高MySQL的运行速度!

    MySQL是一款开放源代码的关系型数据库管理系统。在使用MySQL时,为了提高系统的性能和稳定性,通常需要对服务器进行优化。本文将详细介绍如何优化MySQL服务器,以提高其运行速度。 升级硬件 首先,升级硬件是提高服务器性能的首要条件。硬件升级主要包括CPU、内存和硬盘。在升级硬件时,应该根据服务器的实际情况选择合适的硬件配置。 优化MySQL配置文件 My…

    MySQL 2023年3月10日
    00
  • Oracle常见分析函数实例详解

    Oracle常见分析函数实例详解 在Oracle数据库中,分析函数可以用于在查询结果中计算各种统计数据,例如总和、平均数、最大值、最小值等。在本文中,我们将介绍一些Oracle数据库中常见的分析函数,以及如何使用它们计算各种有趣的统计数据。 常见分析函数 常见的Oracle分析函数包括: ROW_NUMBER():返回一个数字,表示查询结果集中每一行的位置。…

    database 2023年5月21日
    00
  • SQLMap简介及简单应用实例图文详解

    下面我将详细讲解“SQLMap简介及简单应用实例图文详解”的完整攻略。 一、SQLMap简介 SQLMap是一种开放源代码的自动化SQL注入工具,能够使用多种方式攻击和入侵数据库,让使用者能够非常容易地探测和利用SQL注入漏洞。SQLMap使用Python编写,支持多种数据库(包括MySQL、Oracle、MS SQL Server、PostgreSQL和S…

    database 2023年5月22日
    00
  • SQL Server时间戳功能与用法详解

    SQL Server时间戳功能与用法详解 在 SQL Server 中,时间戳是一种数据类型,用于记录数据表中行的改变情况。本文将详细介绍时间戳的概念、语法和用法。 什么是时间戳? 时间戳(timestamp)是一种用来追踪数据表中行的变化的方法。它可以自动维护每行数据的版本号,并在行发生变化时自动更新版本号。时间戳是一种二进制数据类型,并具有以下特性: 每…

    database 2023年5月22日
    00
  • mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案

    当MySQL连接的空闲时间超过8小时,在进行下一次交互操作时,MySQL会自动断开该连接,这种情况下需要通过一些解决方案来维持连接。本攻略将详细讲解三种解决方法:修改MySQL配置文件、使用操作系统的定时任务和在应用程序中定时发送“心跳包”。 方法一:修改MySQL配置文件 打开MySQL配置文件my.cnf(Windows为my.ini)。 在文件末尾添加…

    database 2023年5月22日
    00
  • Ubuntu16.04 安装Teamviewer的教程详解

    下面是详细的攻略: Ubuntu16.04 安装Teamviewer的教程详解 介绍TeamViewer TeamViewer 是一款跨平台的远程控制软件,它可以用于在本地或远程计算机之间远程控制,桌面共享,文件传输和在线会议等。使用 TeamViewer 可以方便地协作工作和解决问题。 安装TeamViewer 在 Ubuntu16.04 中打开终端。 添…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部