📅【資料修正實戰】當資料庫日期欄位出現亂碼,工程師是怎麼「安全修復」的?
一、為什麼資料庫的「日期」會壞掉? 在許多企業系統中,資料庫會長期累積來自不同來源的資料,例如: 自動化機台上傳 第三方系統轉檔 批次程式(Batch Job) 人工補資料 只要其中 任一流程發生例外 ,就可能出現這種狀況: 日期欄位裡,居然不是日期,而是奇怪的符號或代碼 例如: 不明符號 系統佔位字元 暫存標記 這類問題在 系統初期不一定會出錯 ,但當資料被拿來: 報表分析 排程統計 系統對帳 時,問題就會全面爆發。 二、為什麼不能「直接改掉」錯誤資料? 很多非工程背景的人會直覺想: 「既然這筆資料是錯的,那就直接改掉不就好了?」 但對工程師來說,這是 高度危險的行為 ,原因有三個: 1️⃣ 你不知道「正確值」是什麼 亂改,可能只是把錯誤「換成另一個錯誤」。 2️⃣ 資料之間其實是有關聯的 同一筆業務資料,可能在資料庫中: 出現多次 分散在不同流程、不同站點 3️⃣ 一旦寫入,幾乎無法回復 資料庫不像 Excel 可以按「復原」, 錯一次,可能影響 數年歷史資料 。 三、工程師真正的修復思路是什麼? 工程師不會「憑感覺改資料」,而是用 邏輯比對 。 核心概念只有一句話: 不要修「孤立的錯誤資料」, 而是用「同一筆資料的其他紀錄」來驗證。 四、什麼是「跨流程驗證」?(給完全不懂的人) 假設一個產品會經過多個流程站點: 流程 A 流程 B 流程 C 理論上: 這些流程記錄的是 同一批東西 關鍵資訊(例如日期)應該高度相似 但現在發現: 流程 ...