我有一个名为
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
?
使用下面的 fn
DATE_FORMAT(entry_date,'%M,%Y') as entry_date
无需合并或提取。
查看更多详细信息https://www.w3schools.com/sql/func_mysql_date_format.asp
SELECT CONCAT(MONTHNAME(entry_date),", ", YEAR(entry_date)) as formatted_date
formatted_date 字段的结果类似于 2014 年 11 月