VARCHAR2 列存儲混亂日期格式:'2013.2.1 10:32:32'、'20130201 103232'、'2013/0201 10 32 32',甚至非法值 '2013/2/1 240000'、'2013/2/30 10:32:32'。純 SQL TO_DATE 無法通用解析。
SELECT id, raw_dt FROM src_table 讀入 Java/Python 腳本。["yyyy.M.d HH:mm:ss", "yyyyMMdd HHmmss", "yyyy/MMdd HH mm ss", ...],嘗試 DateTimeFormatter 循環解析,捕獲異常。24:00:00 折算為次日 00:00:00。TIMESTAMP 字面量或 DATE 類型,批量 INSERT 目標表。-- 快速定位疑似非法行
SELECT * FROM src_table
WHERE NOT REGEXP_LIKE(raw_dt, '^\d{4}[-./]\d{1,2}[-./]\d{1,2}');
java.time.format.DateTimeFormatterBuilder 寬容解析。dateutil.parser.parse 自動識別多種格式。