适合新手的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技术站