爲什麼MySQL中的以下查詢會導致timestampdiff()的值爲空?爲什麼我得到這個timestampdiff()的NULL?
SELECT EndDate, /* EndDate is YEAR(4) datatype with value 2013 */
year('2015-01-01') a,
timestampdiff(YEAR, Year('2015-01-01'), EndDate) b
FROM table
結果:
EndDate a b
2013 2015 NULL
我的猜測是因爲'YEAR'不是日期或日期時間數據類型。 https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestampdiff – Uueerdo
是的。我通過追加一個月/日來修復它,並將其視爲日期時間。 'SELECT EndDate, CONCAT(EndDate,' - 01-01')a, timestampdiff(YEAR,STR_TO_DATE('2015-01-01','%Y-%m-%d'),CONCAT(EndDate ,' - 01-01'))d FROM tblboard' –