Giải pháp tốt nhất sẽ là:
-
xóa tất cả các lần khỏi cột DATE của bạn (
update yourtable set yourdatecolumn = trunc(yourdatecolumn)
) -
đảm bảo rằng tất cả các ngày trong tương lai không chứa phần thời gian bằng cách đặt ràng buộc kiểm tra trên cột bằng cách sử dụng
check (yourdatecolumn = trunc(yourdatecolumn))
-
điều chỉnh tất cả các câu lệnh INSERT và UPDATE của bạn hoặc - nếu bạn may mắn - hãy điều chỉnh API của bạn, để chỉ chèn các ngày TRUNCed.
Giải pháp đơn giản nhất sẽ là:
-
(Tùy chọn) xóa tất cả thời gian khỏi cột DATE của bạn.
-
Tạo trình kích hoạt cơ sở dữ liệu cập nhật hoặc chèn hàng trước đặt
:new.yourdatecolumn := trunc(:new.yourdatecolumn);