使用 EXTRACT YEAR、EXTRACT MONTH 和 CONCAT 函数获取“月份名称,YYYY”格式的日期

问题描述 投票:0回答:2

我有一个名为

Student
的 MySQL 表,其中有一列名为
entry_date
,类型为
date
。我想选择以下形式的
entry_date

November, 2014

即它将显示列的月份名称和年份部分

entry_date
。根据 MySQL 标准,我使用了以下内容:
EXTRACT MONTH FROM entry_date
,然后是
EXTRACT YEAR FROM entry_date
,然后使用
CONCAT
函数将它们连接起来。

我在尝试执行上述操作的地方编写了以下

JOIN
查询:

SELECT s.std_id AS id, s.std_name AS name, 
CONCAT(EXTRACT(MONTH FROM s.entry_date), ',' , EXTRACT(YEAR FROM s.entry_date)) AS entry_date
d.dept_name AS department, h.house_name AS house
FROM student s
LEFT JOIN department d
ON d.id = s.std_dept
LEFT JOIN house h
ON h.id = s.std_house

我得到了结果,没问题,但是

entry_date
的结果采用以下格式:

11, 2014

这意味着它返回月份数字而不是月份名称。

然而,我想要这种格式:

November, 2014

如何在MySQL中获取第二种格式的

entry_date

mysql sql date
2个回答
7
投票

使用下面的 fn

           DATE_FORMAT(entry_date,'%M,%Y') as entry_date

无需合并或提取。

查看更多详细信息https://www.w3schools.com/sql/func_mysql_date_format.asp


2
投票
SELECT CONCAT(MONTHNAME(entry_date),", ", YEAR(entry_date)) as formatted_date

formatted_date 字段的结果类似于 2014 年 11 月

© www.soinside.com 2019 - 2024. All rights reserved.