2013-05-30 42 views
1

我只需要从记录日期中选择一年。从MySql中只选择一年

SELECT *, DATE_FORMAT('release','%Y') AS release_year FROM books 

但无效。 phpmyadmin中的结果是NULL。

回答

4
SELECT *, YEAR(`release`) AS release_year FROM books 

我认为release是一个MySQL关键字。尝试围绕“

+0

仍然不工作,MySQL的格式是1976年3月11日 – WalterV

+1

那么,什么是'release'的数据类型? – invisal

+0

类型是:'date' – WalterV

2

请勿将release放在引号中。您正试图从字符串'release'中提取年份,而不是“release”列中的值。

而作为@invisal状态,RELEASE是reserved word in MySQL,所以你必须用back-ticks对它进行分隔。

1

您的问题:

DATE_FORMAT('释放', '%Y')

在MySQL是一个字符串。

修复:

SELECT *, DATE_FORMAT(`release`,'%Y') AS release_year FROM books;