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日

相关文章

  • Adabas 和 Aerospike 的区别

    Adabas和Aerospike都是流行的NoSQL数据库系统,但它们有着不同的特点和应用场景。 Adabas 简介 Adabas是一种高性能的事务处理型数据库管理系统,主要面向大型企业和机构。它支持大容量的数据存储和处理,能够高效地存储和检索事务数据。Adabas提供了强大的事务处理能力和可靠性,能够处理高并发的交易场景。 特点 高性能:Adabas采用先…

    database 2023年3月27日
    00
  • oracle中add_months()函数及用法总结

    Oracle中add_months()函数及用法总结 简介 Oracle中的add_months函数常用于对日期类型进行加减月份的操作,即在一个日期值上增加或减少若干个月份之后返回新的日期值。该函数的用法非常简单,但需要注意一些细节。 语法 add_months(date, n) 其中,date为日期类型的输入值,n为一个整数,表示需要增加或减少的月份数,若…

    database 2023年5月21日
    00
  • oracle中not exists对外层查询的影响详解

    Oracle中NOT EXISTS对外层查询的影响详解 简介 在Oracle数据库中,当我们使用NOT EXISTS时,有可能会影响到外层查询的结果,本文将详细介绍NOT EXISTS的使用方法以及对外层查询的影响。 NOT EXISTS的使用方法 NOT EXISTS用于在子查询中检测父查询中是否存在记录。如果子查询返回的结果集为空,则NOT EXISTS…

    database 2023年5月22日
    00
  • mysql的启动

    1。直接用mysqld手工启动 [root@ora11g bin]# ./mysqld –defaults-file=../my.cnf 140328 10:04:37 [ERROR] Fatal error: Please read “Security” section of the manual to find out how to run mysql…

    MySQL 2023年4月12日
    00
  • MySQL命令行登入的方式有哪些

    这篇“MySQL命令行登入的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL命令行登入的方式有哪些”文章吧。 方法一: 开始菜单 -> 所有程序 -> MySQL -> MySQL Server 8.0 -&…

    MySQL 2023年4月14日
    00
  • SpringBoot整合MyBatis实现乐观锁和悲观锁的示例

    SpringBoot整合MyBatis实现乐观锁和悲观锁分别是什么呢? 乐观锁与悲观锁 在多个线程并发修改同一条记录时,为了保证数据的一致性和正确性,我们需要使用锁机制。在Java中,常用的锁有悲观锁和乐观锁。 悲观锁:在操作数据时会认为数据随时可能被其他线程修改,因此就会对数据加锁,防止其他线程修改。常使用synchronized或ReentrantLoc…

    database 2023年5月22日
    00
  • 在ASP.NET 2.0中操作数据之十七:研究插入、更新和删除的关联事件

    在ASP.NET 2.0中,我们常常需要通过代码操作数据库的数据,涉及到插入、更新和删除等操作。而这些操作都会涉及到数据的关联事件,本文就来详细讲解在ASP.NET 2.0中如何研究插入、更新和删除的关联事件。 关联事件 ASP.NET 2.0中提供了大量的关联事件,这些事件可以在数据库中执行特定操作时发生。下面是一些常见的关联事件: Inserted:插入…

    database 2023年5月22日
    00
  • Ruby使用Mysql2连接操作MySQL

    下面是关于Ruby使用Mysql2连接操作MySQL的完整攻略。 安装Mysql2 在使用Mysql2连接操作MySQL之前,需要先安装Mysql2。可以通过以下命令在终端中安装: gem install mysql2 连接MySQL 连接MySQL需要指定需要连接的MySQL的主机地址、用户名、密码和需要连接的数据库,可以通过以下方式实现: require…

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