MySQLで次のクエリがそのtimestampdiff()に対してnullになるのはなぜですか?なぜこの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
はい。私は月/日を追加することでそれを修正し、datetimeと見なします。 '終了EndDate、 CONCAT(EndDate、 ' - 01-01')a、 timestampdiff(YEAR、STR_TO_DATE( '2015-01-01'、 '%Y-%m-%d')、CONCAT(EndDate 、 ' - 01-01'))d FROM tblboard' –