Vous aimerez peut-être en savoir plus sur le CURDATE()
et DATEDIFF()
fonctions (et d'autres fonctions de MySQL qui pourraient vous être utiles à l'avenir) ici :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;
Si vous voulez que cela soit intégré au tableau, vous pouvez utiliser une VUE :
CREATE VIEW MyView AS
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
MySQL 5.7 prend en charge les les colonnes générées où vous pouvez ajouter une colonne virtuelle basée sur une expression, mais cela ne fonctionne pas dans ce cas car l'utilisation d'une fonction non déterministe comme CURDATE() n'est pas autorisée dans de telles expressions.
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.