Es posible que desee leer sobre el CURDATE()
y DATEDIFF()
funciones (y otras funciones en MySQL que pueden serle útiles en el futuro) aquí:https://dev.mysql.com/doc/refman/5.7/en/funciones-fecha-y-hora.html#function_datediff
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
Si desea que esto esté integrado en la tabla, puede usar una VISTA:
CREATE VIEW MyView AS
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
MySQL 5.7 admite columnas generadas donde puede agregar una columna virtual basada en una expresión, pero esto no funciona en este caso porque el uso de una función no determinista como CURDATE() no está permitido en tales expresiones.
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.