MySQL中如何使用DATE_FORMAT函数将日期转换为指定格式的字符串

介绍

在MySQL中,使用DATE_FORMAT函数可以将日期数据格式化成指定的字符串格式。DATE_FORMAT函数的使用格式是:DATE_FORMAT(date,format),其中date代表日期数据的列名或者值,format代表需要将日期数据格式化成的字符串格式。DATE_FORMAT函数返回一个字符串类型的值。

快速使用

下面使用一个例子来快速演示DATE_FORMAT函数的使用方法。

创建表格

首先,我们创建一个名为mytable的表,表中包含两个列,一个是日期数据类型的date,一个是整数数据类型的value。代码如下所示:

CREATE TABLE mytable (

date date,

value int

);

插入数据

然后插入一些数据,代码如下:

INSERT INTO mytable (date, value) VALUES

('2022-01-01', 10),

('2022-01-02', 20),

('2022-01-03', 30),

('2022-01-04', 40),

('2022-01-05', 50);

使用DATE_FORMAT函数

现在我们可以使用DATE_FORMAT函数将日期数据格式化成我们需要的字符串格式了。例如,我们需要将日期格式化成'年-月-日'的形式,可以使用以下代码:

SELECT DATE_FORMAT(date, '%Y-%m-%d') AS date_str, value FROM mytable;

代码中的'%Y-%m-%d'就代表将日期格式化成'年-月-日'的形式。输出结果如下:

+------------+-------+

| date_str | value |

+------------+-------+

| 2022-01-01 | 10 |

| 2022-01-02 | 20 |

| 2022-01-03 | 30 |

| 2022-01-04 | 40 |

| 2022-01-05 | 50 |

+------------+-------+

DATE_FORMAT函数常用格式符介绍

下面是DATE_FORMAT函数中常用的格式符介绍:

格式符 | 描述

---|---

%Y | 年,四位数字

%m | 月,数字(01-12)

%d | 日,数字(01-31)

%H | 小时,数字(00-23)

%i | 分钟,数字(00-59)

%s | 秒,数字(00-59)

%W | 星期,完整的英文例如Monday

%w | 星期,数字(0-6,0代表星期日)

%a | 缩写的星期名称,例如Mon

%b | 缩写的月份名称,例如Jan

%c | 月份,数字(1-12)

%e | 日份,数字(1-31)

示例

日期格式化成'年-月-日 时:分:秒'

SELECT DATE_FORMAT(date, '%Y-%m-%d %H:%i:%s') AS date_str, value FROM mytable;

输出结果如下:

+---------------------+-------+

| date_str | value |

+---------------------+-------+

| 2022-01-01 00:00:00 | 10 |

| 2022-01-02 00:00:00 | 20 |

| 2022-01-03 00:00:00 | 30 |

| 2022-01-04 00:00:00 | 40 |

| 2022-01-05 00:00:00 | 50 |

+---------------------+-------+

日期格式化成'月/日/年'

SELECT DATE_FORMAT(date, '%m/%d/%Y') AS date_str, value FROM mytable;

输出结果如下:

+------------+-------+

| date_str | value |

+------------+-------+

| 01/01/2022 | 10 |

| 01/02/2022 | 20 |

| 01/03/2022 | 30 |

| 01/04/2022 | 40 |

| 01/05/2022 | 50 |

+------------+-------+

日期格式化成'年.月.日 星期'

SELECT DATE_FORMAT(date, '%Y.%m.%d %W') AS date_str, value FROM mytable;

输出结果如下:

+-----------------+-------+

| date_str | value |

+-----------------+-------+

| 2022.01.01 Saturday | 10 |

| 2022.01.02 Sunday | 20 |

| 2022.01.03 Monday | 30 |

| 2022.01.04 Tuesday | 40 |

| 2022.01.05 Wednesday| 50 |

+-----------------+-------+

日期格式化成'月份名称 日, 年'

SELECT DATE_FORMAT(date, '%b %e, %Y') AS date_str, value FROM mytable;

输出结果如下:

+---------------+-------+

| date_str | value |

+---------------+-------+

| Jan 1, 2022 | 10 |

| Jan 2, 2022 | 20 |

| Jan 3, 2022 | 30 |

| Jan 4, 2022 | 40 |

| Jan 5, 2022 | 50 |

+---------------+-------+

总结

在MySQL中,使用DATE_FORMAT函数可以将日期数据格式化成指定的字符串格式。DATE_FORMAT函数的使用格式是:DATE_FORMAT(date,format),其中date代表日期数据的列名或者值,format代表需要将日期数据格式化成的字符串格式。DATE_FORMAT函数返回一个字符串类型的值。常用的日期格式符有%Y,%m,%d,%H,%i,%s,%W,%w,%a,%b,%c和%e。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签