Vielleicht möchten Sie etwas über CURDATE()
lesen und DATEDIFF()
Funktionen (und andere Funktionen in MySQL, die für Sie in Zukunft nützlich sein könnten) hier:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_datediff
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
Wenn Sie möchten, dass dies in die Tabelle eingebaut wird, können Sie ein VIEW:
verwendenCREATE VIEW MyView AS
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
MySQL 5.7 unterstützt generierte Spalten wo Sie eine virtuelle Spalte basierend auf einem Ausdruck hinzufügen können, aber das funktioniert in diesem Fall nicht, weil die Verwendung einer nicht-deterministischen Funktion wie CURDATE() in solchen Ausdrücken nicht erlaubt ist.
ALTER TABLE MyTable ADD COLUMN days_since INT AS (DATEDIFF(CURDATE(), mydatefield));
ERROR 3102 (HY000): Expression of generated column 'days_since' contains a disallowed function.