Khi ngày được biểu diễn dưới dạng chuỗi (string), MySQL cố gắng trích xuất phần số đầu tiên để thực hiện phép toán, dẫn đến kết quả khó dự đoán và thường vô nghĩa.
Ví dụ
mysql> SELECT '2017-10-17' + 20; +-------------------+ | '2017-10-17' + 20 | +-------------------+ | 2037 | +-------------------+ -- MySQL lấy 2017 (phần đầu) + 20 = 2037 mysql> SELECT '2017-10-25' - 17; +-------------------+ | '2017-10-25' - 17 | +-------------------+ | 2000 | +-------------------+ -- 2017 - 17 = 2000 mysql> SELECT '2017-10-17' * 2; +-------------------+ | '2017-10-17' * 2 | +-------------------+ | 4034 | +-------------------+ -- 2017 * 2 = 4034 mysql> SELECT '2017-05-25' / 5; +----------------+ | '2017-05-25'/5 | +----------------+ | 403.4 | +----------------+ -- 2017 / 5 = 403.4
Mỗi truy vấn đều sinh ra Warning (truncated/incorrect value). Không nên dùng toán tử số học trên chuỗi ngày.