Bạn có thể muốn đọc về CURDATE()
và DATEDIFF()
các hàm (và các hàm khác trong MySQL có thể hữu ích cho bạn trong tương lai) tại đây: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html# Chức năng_datediff
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
Nếu bạn muốn điều này được tích hợp sẵn trong bảng, bạn có thể sử dụng CHẾ ĐỘ XEM:
CREATE VIEW MyView AS
SELECT *, DATEDIFF(CURDATE(), mydatefield) AS days_since
FROM MyTable;
MySQL 5.7 hỗ trợ các cột được tạo nơi bạn có thể thêm một cột ảo dựa trên một biểu thức, nhưng điều này không hoạt động trong trường hợp này vì sử dụng một hàm không xác định như CURDATE () không được phép trong các biểu thức như vậy.
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.