Du vil måske gerne læse om CURDATE()
og DATEDIFF()
funktioner (og andre funktioner i MySQL, som kan være nyttige for dig i fremtiden) her: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;
Hvis du vil have dette indbygget i tabellen, kan du bruge en VIEW:
CREATE VIEW MyView AS
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
MySQL 5.7 understøtter genererede kolonner hvor du kan tilføje en virtuel kolonne baseret på et udtryk, men det virker ikke i dette tilfælde, fordi det ikke er tilladt at bruge en ikke-deterministisk funktion som CURDATE() i sådanne udtryk.
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.