2013-05-30 71 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;