Tôi đã tìm thấy câu trả lời cho điều này bằng cách thử một chút với nó. Chỉ đặt nó ở đây để nó có thể hữu ích cho người khác nếu họ cần.
Để tìm các hàng có 00/00/0000 00:00:00 00
value, mệnh đề Where này hoạt động:
WHERE TO_CHAR(INVENTORY_DATE,'YYYYMMDDHH24MISS') = '00000000000000'
Để tìm các hàng có thể có nhiều giá trị ngày hơn như sau:
Select TO_CHAR(INVENTORY_DATE, 'MM/DD/YYYY HH:MI:SS AM') "Inventory Date", MyTable.*
From SOMESCHEMA.INVENTORY MyTable
Where INVENTORY_DATE < TO_DATE('01/01/1000 01:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM ')
order by MyTable.INVENTORY_DATE ASC NULLS LAST
FETCH FIRST 10 ROWS ONLY;
Bây giờ, thao tác này cũng chọn các hàng có 00/00/0000 00:00:00 00
ngày.
Và đối với bản cập nhật, bạn có thể sử dụng ví dụ sau:
UPDATE SOMESCHEMA.INVENTORY
SET INVENTORY_DATE = TO_DATE('12/30/1899 05:00:00 A.M.', 'mm/dd/yyyy hh:mi:ss a.m.', 'nls_date_language=american')
Where INVENTORY_DATE < TO_DATE('01/01/1000 01:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM ');