1

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

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

但不起作用。phpmyadmin 中的结果为 NULL。

4

3 回答 3

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

我认为release是一个 MySQL 关键字。试着把它包裹起来`

于 2013-05-30T16:51:35.903 回答
2

不要release加引号。您试图从文字字符串中提取年份'release',而不是列中的值 ` release`。

正如@invisal 所说, RELEASE 是MySQL 中的保留字,所以你必须用反引号分隔它。

于 2013-05-30T17:00:52.173 回答
1

你的问题 :

DATE_FORMAT( '发布' ,'%Y')

在 Mysql 中这是一个字符串。

使固定 :

SELECT *, DATE_FORMAT(`release`,'%Y') AS release_year FROM books;
于 2013-05-30T17:04:24.520 回答