2014-11-09 124 views
0

我有一个名为Student的MySQL表,其中有一列类型的entry_date列。我想选择以下形式的entry_date使用EXTRACT YEAR,EXTRACT MONTH和CONCAT函数获取“月份名称,YYYY”格式的日期

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

回答

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

结果为FORMATTED_DATE领域会像2014年11月

+0

它解决了我的问题。非常感谢你。 – 2014-11-09 06:29:15

2

使用下面的FN

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

无需CONCAT或提取物。

经历这个了解更多详情​​

+0

虽然Elias的答案为我提供的解决方案,这是完美的了。好的解决方案所以,+1。 :) – 2014-11-09 06:30:04

相关问题