适合新手的mysql日期类型转换实例教程

适合新手的MySQL日期类型转换实例教程

什么是日期类型转换?

在进行MySQL中日期相关数据操作时,有时会遇到需要将日期与时间以不同的格式呈现的情况。MySQL提供了一系列日期类型转换函数,用于完成从一个日期/时间类型到另一个日期/时间类型的转换。常见的类型转换函数有:DATE_FORMAT(), STR_TO_DATE(), UNIX_TIMESTAMP(), 等等。

DATE_FORMAT() 函数

DATE_FORMAT() 函数将日期类型的数据按照指定的格式进行转换,格式如下:

DATE_FORMAT(date,format)

参数说明

  • date: 指定日期类型的数据。可以是日期类型、时间类型或日期时间类型。
  • format: 指定输出日期的格式。常见的格式有:
格式 说明
%Y 年,四位数字
%y 年,两位数字
%m 月,两位数字
%d 日,两位数字
%H 小时,两位数字(00-23)
%h 小时,两位数字(01-12)
%i 分,两位数字
%s 秒,两位数字
%p AM或PM(大写)

示例

假设我们有如下一张名为 tb_order 的表:

CREATE TABLE tb_order(
    id int(11) NOT NULL AUTO_INCREMENT,
    order_time datetime DEFAULT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表中有一个记录为 2021-09-01 15:32:11 的订单生成时间 order_time,我们想要将其转换为 2021/09/01 03:32:11 PM 的格式,可以使用以下 SQL 语句:

SELECT DATE_FORMAT(order_time,'%Y/%m/%d %h:%i:%s %p') AS format_time FROM tb_order;

输出结果如下:

+------------------------+
|       format_time       |
+------------------------+
| 2021/09/01 03:32:11 PM  |
+------------------------+

STR_TO_DATE() 函数

STR_TO_DATE() 函数将指定的字符串按照指定的格式转换成日期类型的数据。格式如下:

STR_TO_DATE(str,format)

参数说明

  • str: 指定的字符串。
  • format: 指定字符串的日期格式。

示例

假设我们有如下一张名为 tb_order 的表:

CREATE TABLE tb_order(
    id int(11) NOT NULL AUTO_INCREMENT,
    order_date varchar(10) DEFAULT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表中有一个记录为 20210901 的日期数据 order_date,我们想要将其转换为 2021-09-01 的格式并查询记录,可以使用以下 SQL 语句:

SELECT * FROM tb_order WHERE order_date = STR_TO_DATE('20210901','%Y%m%d');

输出结果如下:

+----+------------+
| id | order_date |
+----+------------+
|  1 | 20210901   |
+----+------------+

总结

日期类型转换是 MySQL 数据库中比较常用的操作之一,熟练使用日期类型转换函数对于各种类型日期的处理具有非常重要的作用。在实际应用中,可以根据业务需求选择恰当的日期类型转换函数进行使用,以达到最佳的效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:适合新手的mysql日期类型转换实例教程 - Python技术站

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

相关文章

  • Android中操作SQLite数据库快速入门教程

    标题:Android中操作SQLite数据库快速入门教程 简介 SQLite是一种轻型的数据库管理系统,它可以嵌入到Android应用程序中,用于管理应用程序中的数据。在Android中,我们可以通过使用SQLiteOpenHelper类或直接使用SQLiteDatabase类来操作SQLite数据库。本文将详细讲解如何在Android应用程序中使用SQLi…

    database 2023年5月21日
    00
  • Myeclipse链接Oracle等数据库时lo exception: The Network Adapter could not establish the connection

    当使用MyEclipse链接Oracle数据库时,可能会遇到“lo exception: The Network Adapter could not establish the connection”错误。这通常是因为数据库的驱动程序没有正确配置而导致的。下面是一个完整的攻略,用于解决这个问题: 确认数据库驱动程序已正确配置 首先,在MyEclipse中打开…

    database 2023年5月18日
    00
  • MySQL数据库连接查询 join原理

    MySQL数据库连接查询join原理 在MySQL中,我们可以通过JOIN操作实现多个关系表的数据联合查询。JOIN操作是通过将两个或多个表中的列进行比较,从而找到它们的共同数据,并将这些数据进行组合返回给用户。 常见的JOIN操作有 INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)、FULL JOIN(全连接)等…

    database 2023年5月22日
    00
  • MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法

    让我来详细讲解一下MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法。 TIMESTAMPDIFF函数 语法: TIMESTAMPDIFF(unit, datetime1, datetime2) 其中,unit表示时间单位,datetime1和datetime2分别表示两个时间。函数的返回值表示两个时间之间的差值。 参数解释: unit…

    database 2023年5月22日
    00
  • Fckeditor XML Request error:internal server error (500) 解决方法小结

    问题描述: Fckeditor是一个基于web的HTML文本编辑器,它允许用户通过一个富文本编辑器管道来编辑HTML内容。但有时会出现“Fckeditor XML Request error: internal server error (500)”错误,导致无法正常使用。本文将介绍如何解决这个问题。 解决方法: 此错误是由服务器上的配置问题引起的,解决方法…

    database 2023年5月21日
    00
  • MySQL中的 Binlog 深度解析及使用详情

    MySQL中的Binlog深度解析及使用详情 简介 Binlog(Binary Log)是MySQL数据库的日志系统,可以记录数据库中的所有写操作,包括增、删、改等操作,能够很好地用于数据恢复、数据同步等方面。 本文将详细讲解MySQL中的Binlog,包括Binlog的格式、Binlog的常用命令、如何利用Binlog进行数据恢复。 Binlog的格式 M…

    database 2023年5月22日
    00
  • springboot+mybatis+druid+sqlite/mysql/oracle

    搭建springboot+mybatis+druid+sqlite/mysql/oracle附带测试   1.版本 springboot2.1.6 jdk1.8 2.最简springboot环境 https://www.cnblogs.com/SmilingEye/p/11422536.html 3.pom(sqlite配置) spring-boot-sta…

    MySQL 2023年4月12日
    00
  • MySQL数据库查询之多表查询总结

    MySQL数据库查询之多表查询总结 在实际业务中,数据库往往并不仅仅只有一张表。为了更好地提高查询效率和查询结果的准确性,我们就需要用到多表查询了。 内连接(INNER JOIN) 内连接返回同时在两个表中存在的所有行,并且在连接的列上具有相同的值。它是最常用的一种多表查询方式,下面用一个示例来说明。 有两张表,分别是学生表(students)和成绩表(sc…

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