使用EXTRACT YEAR,EXTRACT MONTH和CONCAT函数以“Month Name,YYYY”格式获取日期

时间:2014-11-09 06:13:56

标签: mysql sql date

我有一个名为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

2 个答案:

答案 0 :(得分:3)

使用以下fn

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

无需连续或提取。

详细了解http://www.w3schools.com/sql/func_date_format.asp

答案 1 :(得分:1)

SELECT CONCAT(MONTHNAME(entry_date),", ", YEAR(entry_date)) as formatted_date

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