我有一个名为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
?
答案 0 :(得分:3)
使用以下fn
DATE_FORMAT(entry_date,'%M,%Y') as entry_date
无需连续或提取。
答案 1 :(得分:1)
SELECT CONCAT(MONTHNAME(entry_date),", ", YEAR(entry_date)) as formatted_date
formatted_date 字段的结果类似 2014年11月