Anda mungkin ingin membaca tentang CURDATE()
dan DATEDIFF()
fungsi (dan fungsi lain di MySQL yang mungkin berguna untuk Anda di masa mendatang) di sini: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;
Jika Anda ingin ini terintegrasi ke dalam tabel, Anda dapat menggunakan VIEW:
CREATE VIEW MyView AS
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
MySQL 5.7 mendukung kolom yang dihasilkan di mana Anda dapat menambahkan kolom virtual berdasarkan ekspresi, tetapi ini tidak berfungsi dalam kasus ini karena menggunakan fungsi non-deterministik seperti CURDATE() tidak diperbolehkan dalam ekspresi seperti itu.
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.